首页 > 其他 > 详细

剑指 Offer 54. 二叉搜索树的第k大节点

时间:2021-04-07 20:56:53      阅读:28      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

技术分享图片

 

 

这个题告诉我在recusive的function里,你return任何value都是没啥用的,需要用数组才能够记录下来我们需要的值。这个题也很简单,最简单的就是使用倒叙进行inorder遍历就可以了,代码如下:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def kthLargest(self, root: TreeNode, k: int) -> int:
        self.time=0
        ret=[]
        def inorder_inverse(root,k):
            if root==None:
                return 0
            inorder_inverse(root.right,k)
            self.time+=1
            if self.time==k:
                ret.append(root.val)
            inorder_inverse(root.left,k)

        inorder_inverse(root,k)
        return ret[0]

 

剑指 Offer 54. 二叉搜索树的第k大节点

原文:https://www.cnblogs.com/geeksongs/p/14628090.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!