美文网首页
二叉树搜索

二叉树搜索

作者: Michael0016 | 来源:发表于2019-05-23 14:30 被阅读0次

    题目:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (1,2,3,4,5,6,7) 中,按结点数值大小值为4的节点位置。
    总结二叉树的中序遍历的迭代实现。
    分析:


    633390406.jpg

    解法:
    class Solution {
    public:
    TreeNode* KthNode(TreeNode* pRoot, int k)
    {
    if(!pRoot||k<=0) return nullptr;
    TreeNode* cur = pRoot,res = nullptr;
    stack<TreeNode
    > s;
    while(cur||!s.empty()) {
    while(cur) {
    s.push(cur);
    cur = cur->left;
    }
    cur = s.top();
    s.pop();
    --k;
    if(0==k) return cur;
    cur = cur->right;
    }
    return res;
    }
    };

    相关文章

      网友评论

          本文标题:二叉树搜索

          本文链接:https://www.haomeiwen.com/subject/vxgvzqtx.html