题解 | #重建二叉树#

二叉搜索树的第k个结点

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

# -*- 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):
        if pRoot == None or k <= 0:
            return None
        self.res = 0
        self.count = 0
        self.DFS(pRoot, k)
        if self.count < k: #判断 K 是否超出二叉树所有数据的长度
            return None
        return self.res

    def DFS(self, pRoot, k):
        if self.count >= k or pRoot == None:
            return None
        self.DFS(pRoot.left, k)
        self.count += 1
        if self.count == k:
            self.res = pRoot
        self.DFS(pRoot.right, k)
全部评论

相关推荐

05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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