zoukankan      html  css  js  c++  java
  • 剑指offer61-二叉搜索树的第k个节点

    题目描述

    给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8)    中,按结点数值大小顺序第三小结点的值为4。
    思路:中序遍历第k个节点
        TreeNode* KthNode(TreeNode* pRoot, int k)
        {
            //中序遍历
            int count=0;
            TreeNode*p=pRoot;
            stack<TreeNode*>s;
            if(pRoot==NULL) return p;

            do{
                while(p!=NULL)
                {
                    s.push(p);
                    p=p->left;
                }
                p=s.top();
                s.pop();
                count++;
                if(count==k) return p;
                    p=p->right;
            }while(p!=NULL||!s.empty());
            return p;
        }
  • 相关阅读:
    清北学堂2019.7.18 & 清北学堂2019.7.19
    清北学堂2019.7.17
    清北学堂2019.7.16
    清北学堂2019.7.15
    清北学堂2019.7.14
    清北学堂2019.7.13
    【洛谷P1383 高级打字机】
    考试整理
    考试整理
    【洛谷P5018 对称二叉树】
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12988587.html
Copyright © 2011-2022 走看看