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

二叉搜索树的第k个结点

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

先理解一下:题目是{5 3 7 2 4 6 8 },画一下这个二叉树就是,2,3,4,一个树,6,7,8一个树,然后3,5,7,一个树。
二叉搜索树的定义是,它的左子树上的所有节点的值均小于它的根节点的值,所以直接遍历就可以了。

class Solution:
    # 返回对应节点TreeNode
    def KthNode(self, pRoot, k):
        # write code here
        self.k = k
        self.res = None
        def eses(node):
            if not node:
                return
            if node.left:
                eses(node.left)
            if self.k == 1:
                self.res = node
            self.k -= 1
            if node.right:
                eses(node.right)
        eses(pRoot)
        return self.res
全部评论

相关推荐

06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 11:16
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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