# 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:
"""
二叉搜索树的中序遍历为 递增序列 【左、根、右】
二叉搜索树的中序遍历的倒序为 递减序列 【右、根、左】
"""
def dfs(root):
if not root:
return
dfs(root.right)
if self.k == 0:
return
self.k -= 1
if self.k == 0:
self.res = root.val
dfs(root.left)
self.k = k
dfs(root)
return self.res
每日一道Leetcode - 剑指 Offer 54. 二叉搜索树的第k大节点 【中序遍历的倒序】
最新推荐文章于 2022-05-28 21:10:05 发布