20200329-剑指offer-面试题54. 二叉搜索树的第k大节点

在这里插入图片描述
传送门
分析:二插搜索树的中序遍历结果是有序的,中序遍历的结果放在列表中,返回list[-k]即可。

class Solution(object):
    def kthLargest(self, root, k):
        """
        :type root: TreeNode
        :type k: int
        :rtype: int
        """
        # Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):

    def kthLargest(self, root, k):
        """
        :type root: TreeNode
        :type k: int
        :rtype: int
        """
        list=[]
        
        def dfs(node):
            if not node:
                return 
            else:
                dfs(node.left)
                list.append(node.val)
                dfs(node.right)
        
        dfs(root)

        # reversed(sorted(list))
        return list[-k]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章