60、二叉搜索树的第k个结点
一、题目
给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。
二、解法
1 package algorithm7; 2 3 public class KthNode62 { 4 public static void main(String[] args) { 5 KthNode62 kth = new KthNode62(); 6 TreeNode t1 = new TreeNode(5); 7 TreeNode t2 = new TreeNode(3); 8 TreeNode t3 = new TreeNode(7); 9 TreeNode t4 = new TreeNode(2); 10 TreeNode t5 = new TreeNode(4); 11 TreeNode t6 = new TreeNode(6); 12 TreeNode t7 = new TreeNode(8); 13 t1.left = t2; 14 t1.right = t3; 15 t2.left = t4; 16 t2.right = t5; 17 t3.left = t6; 18 t3.right = t7; 19 TreeNode t = kth.KthNode(t1,8); 20 System.out.println(t.val); 21 } 22 int index = 0;//计数器 23 //用中序遍历,左 根 右 24 public TreeNode KthNode(TreeNode pRoot, int k) 25 { 26 if(pRoot != null){ 27 TreeNode node = KthNode(pRoot.left,k);//左 28 if(node != null)//表示找到了结点 29 return node; 30 31 index++;//根 32 if(index == k) 33 return pRoot;//找到了 34 35 node = KthNode(pRoot.right,k);//右 36 if(node != null)//表示找到了结点 37 return node; 38 } 39 return null;//遍历完了 返回空 或者该结点为空 40 } 41 }
转载于:https://www.cnblogs.com/fankongkong/p/7462149.html
60、二叉搜索树的第k个结点相关推荐
- 牛客题霸 [二叉搜索树的第k个结点]C++题解/答案
牛客题霸 [二叉搜索树的第k个结点]C++题解/答案 题目: 给定一棵二叉搜索树,请找出其中的第k小的结点. 题解: 二叉搜索树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它 ...
- 剑指offer——面试题63:二叉搜索树的第k个结点
剑指offer--面试题63:二叉搜索树的第k个结点 Solution1: 20180916重做 /* struct TreeNode {int val;struct TreeNode *left;s ...
- 《剑指Offer》51. 二叉搜索树的第k个结点
题目:51. 二叉搜索树的第k个结点 知识点:二叉搜索树 题目描述: 给定一棵二叉搜索树,请找出其中的第k小的结点.例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为 ...
- 剑指offer:二叉搜索树的第k个结点(中序遍历)
1. 题目描述 /*给定一棵二叉搜索树,请找出其中的第k小的结点.例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4. */ 2. 思路 中序遍历二叉搜索树,第K个就是结 ...
- 二叉搜索树的第k个节点java_剑指Offer62:二叉搜索树的第k个结点(Java)
思路分析: 首先了解搜索二叉树在中序遍历下的结果是有序的.设一个全局变量num记录次数,每当中序遍历到一个节点时,num++.当num等于k时,返回node即结果. 难在递归上 题目描述 给定一棵二叉 ...
- 二叉搜索树的第k个结点
2019独角兽企业重金招聘Python工程师标准>>> 题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点.例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值 ...
- 61二叉搜索树的第k个结点
题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点.例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4. 思路:二叉搜索树的中序遍历是递增的序列,使用 ...
- 剑指offer之二叉搜索树的第K个结点
题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点.例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4. 解题思路 二叉搜索树的中序遍历是顺序结构,利用中序遍历即可求 ...
- NC81 二叉搜索树的第k个结点
和力扣的230很相似,不过230是返回val值,这道题是返回结点 喵! 方法1 1.利用BST的性质,中序遍历为升序. 2.定义全局的 count(用于计数) 和 res结点(用于接收结点) 3.定义 ...
最新文章
- oracle having用法
- Python(11):正则表达式
- linux7电脑配置要求,安装win7系统电脑配置有何要求--win10专业版
- oracle不同session共享变量,SpringMVC使用oracle配置session共享
- springcloud config服务端配置(二)
- 深入理解密码学基本概念和应用
- 图--广度优先遍历/深度优先遍历(c语言实现)
- em模型补缺失值_EM算法学习(三)
- 现代通信原理7.1:模拟角度调制的基本概念
- 北京理工大学大学计算机课各章节答案,北京理工大学 材料力学课本答案 第一次课(1[1]5+05学.pdf...
- RK3568平台开发系列讲解(安卓篇)PackageInstaller(应用安装)流程介绍
- python模拟类蠕虫--蠕虫初探
- windows10无法使用内置管理员账户打开应用
- 关于程序员的「年龄歧视」问题,程序员的年龄天花板难道是35岁吗?
- 传奇世界服务端WIN7简单安装教程
- 笔记工具:幕布 简要使用教程
- 解决Chrome播放视频闪屏黑屏无法播放
- mysql emoy表情_GitHub - PandaQAQ/PandaEmoView: emoji gif 表情图文混排,仿微信表情输入...
- MySql 数据库10038问题终极解决
- 京东api接入的几个坑(宙斯) 转载
热门文章
- 关闭IOS更新功能(ios4/5/6)
- text/html与text/plain的区别
- Mysql数据导入导出
- nginx+php+mysql+haproxy+keepalived+NFS,搭建wordpress
- ZooKeeper(二)ZooKeeper能做什么?
- Dapper的基本使用
- 细数阿里云服务器的十二种典型应用场景
- 老李推荐:第6章6节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-命令队列...
- Spring web应用最大的败笔
- Linux系统日志及日志分析