C++简洁代码(中序遍历):
二叉搜索树的第k个结点
http://www.nowcoder.com/questionTerminal/ef068f602dde4d28aab2b210e859150a
C++简洁代码:
class Solution {
public:
TreeNode* KthNode(TreeNode* pRoot, int k) {
stack<TreeNode*> stk;
TreeNode* cur = pRoot;
while(cur || stk.size()) {
while(cur) {
stk.push(cur);
cur = cur->left;
}
cur = stk.top();
stk.pop();
if(-- k == 0) return cur;
cur = cur->right;
}
return nullptr;
}
};
查看1道真题和解析
