classSolution { public: intgetMinimumDifference(TreeNode* root){ stack<TreeNode *> stack; TreeNode* cur = root; TreeNode* pre = NULL; int res = INT_MAX; while (cur || !stack.empty()) { while (cur) { stack.push(cur); cur = cur->left; } cur = stack.top(); stack.pop(); if (pre != NULL) { res = min(res, cur->val - pre->val); } pre = cur; cur = cur->right; } return res; } };