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

二叉搜索树的第k个结点

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

知识点:对二叉搜索树进行中序遍历,可以得到一组升序数组。 解题思路:利用dfs中序递归二叉搜索树,输出数组中第k个结点。

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # 返回对应节点TreeNode
    def __init__(self):
        self.count=0
    def KthNode(self, pRoot, k):
        # write code here
        if not pRoot or not k:return None
        res=[]
        def in_order(cur):
            if not cur: return
            in_order(cur.left)
            self.count+=1
            res.append(cur)
            in_order(cur.right)
        in_order(pRoot)
        if self.count<k:return None
        return res[k-1]
全部评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
秋招吐槽大会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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