题解 | #二叉搜索树的第k个结点#

二叉搜索树的第k个结点

http://www.nowcoder.com/practice/ef068f602dde4d28aab2b210e859150a

先序遍历+全局变量
/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};
*/
class Solution {
public:
    int num;
    TreeNode* kNode;
    TreeNode* KthNode(TreeNode* pRoot, int k) {
        num = k;
        preOrder(pRoot);
        return kNode;
    }
    
    void preOrder(TreeNode* pRoot){
        if(!pRoot) return;
        if(pRoot->left)  preOrder(pRoot->left);
        if(num==1) {
            kNode = pRoot;
            num--;
            return;
        }
        else if(num>1)  --num;
        else return;
        if(pRoot->right)  preOrder(pRoot->right);
    }
};


全部评论

相关推荐

06-27 12:30
延安大学 C++
实习+外包,这两个公司底层融为一体了,如何评价呢?
一表renzha:之前面了一家外包的大模型,基本上都能答出来,那面试官感觉还没我懂,然后把我挂了,我都还没嫌弃他是外包,他把我挂了……
第一份工作能做外包吗?
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务