题目描述
给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。
思路
二叉搜索树的中序遍历的输出结果是拍好序的,直接输出第K个即可
1 public class Solution { 2 int time = 0; 3 TreeNode KthNode(TreeNode root, int k){ 4 if(root==null) return null; 5 TreeNode node = KthNode(root.left,k); 6 if(node!=null) return node; 7 time++; 8 if(time==k) 9 return root; 10 node = KthNode(root.right,k); 11 return node; 12 13 } 14 15 }