题目描述
给定一颗二叉搜索树,请找出其中的第k大的结点。
分析
对二叉搜索树进行中序遍历,则遍历序列是递增排序的,因此中序遍历一颗二叉搜索树,可以很容易的得到它的第k大的节点。使用一个计数器变量,每遍历一个节点,计数器加1,当计数器的值等于k时,root节点即为所求节点。
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
int count = 0; // 遍历计数
TreeNode KthNode(TreeNode pRoot, int k) {
if(pRoot ==