62二叉搜索树的第k个结点

Posted 张乐乐章

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了62二叉搜索树的第k个结点相关的知识,希望对你有一定的参考价值。

题目描述

给定一颗二叉搜索树,请找出其中的第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 }

 

以上是关于62二叉搜索树的第k个结点的主要内容,如果未能解决你的问题,请参考以下文章

62剑指offer--二叉搜索树的第k个结点

62.二叉搜索树的第k个节点(python)

剑指offer62:二叉搜索树的第k个结点,二叉搜索树左边的元素小于根,右边的元素大于根

剑指offer(62)二叉搜索树的第K个节点

剑指offer62:二插搜索树的第k个节点

最强解析面试题:二叉搜索树的第k个结点