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

相关推荐

比亚迪汽车新技术研究院 硬件工程师 总包21左右 硕士
点赞 评论 收藏
分享
10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务