zoukankan      html  css  js  c++  java
  • 剑指 Offer 54. 二叉搜索树的第k大节点

    这个题告诉我在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]
  • 相关阅读:
    几种芯片封装
    Finder 快捷键
    Linux dnsmasq 服务
    java: private, protected, public
    java final
    Jenkins 搭建
    一款工作记录软件
    MacOS 修改主机名
    Ubuntu 静态IP
    adb tcp 调试
  • 原文地址:https://www.cnblogs.com/geeksongs/p/14628090.html
Copyright © 2011-2022 走看看