剑指 二叉树k大结点-补充

二叉搜索树的第k个结点

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

需要通过调整k值,来判断是否为k大结点。需要使用全局变量。

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # 返回对应节点TreeNode
    def KthNode(self, pRoot, k):
        # write code here
        self.result=None

        self.count=0
        def inorder(head,k):
            if not head:
                return 
            if head.left and self.count<k:
                inorder(head.left,k)
            self.count+=1
            if self.count==k:
                self.result= head
            if head.right and self.count<k:
                inorder(head.right,k)


        if pRoot==None or k<0:
            return None
        inorder(pRoot,k)

        return self.result

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务