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

题目描述:

 题解一:二叉搜索树的中序遍历结果是各节点值从小到大排列

1.定义一个midsort函数,保存二叉搜索树的中序遍历结果在一个数组中。

2.返回数组的第k大的值。

class Solution:
    def kthLargest(self, root: TreeNode, k: int) -> int:
        def midsort(root,result):
            if root==None:
                return 
            midsort(root.left,result)
            result.append(root.val)
            midsort(root.right,result)
        result = []
        midsort(root,result)
        return result[len(result)-k]


版权声明:本文为laurasam原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。