中序遍历二叉搜索树得到的结果是一个递增数组,可以利用这个特性,先中序存下这个递增数组,再返回倒数第 k 个值
var nums []int
func kthLargest(root *TreeNode, k int) int {
nums = make([]int, 0)
dfs(root)
return nums[len(nums)-k]
}
func dfs(root *TreeNode) {
if root == nil {
return
}
dfs(root.Left)
nums = append(nums, root.Val)
dfs(root.Right)
}