题解 | #二叉搜索树的第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
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务