剑指offer—二叉搜索树的第k个结点
来源:互联网 发布:mac aegisub 乱码 编辑:程序博客网 时间:2024/05/22 09:50
题目描述
给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。
import java.util.ArrayList;public class Solution { ArrayList<TreeNode> res = new ArrayList<TreeNode>(); int index = 0; public TreeNode KthNode(TreeNode pRoot, int k) { if(pRoot==null || k<=0) return null; KthNodeHelper(pRoot,k); if(res.size()<=0) return null; return res.get(0); } public void KthNodeHelper(TreeNode pRoot, int k){ if(pRoot!=null){ KthNodeHelper(pRoot.left,k); index++; if(index==k){ res.add(pRoot); } KthNodeHelper(pRoot.right,k); } }}
中序遍历顺序是按照递增顺序排列的,按照中序遍历顺序遍历二叉树,保存第K个结点的值返回即可
阅读全文
0 0
- 《剑指offer》二叉搜索树的第k个结点
- 剑指offer:二叉搜索树的第k个结点
- [剑指offer]二叉搜索树的第k个结点
- 剑指offer-二叉搜索树的第k个结点
- 【剑指Offer】二叉搜索树的第k个结点
- 剑指offer 二叉搜索树的第k个结点
- 剑指Offer:二叉搜索树的第K个结点
- 剑指offer-二叉搜索树的第k个结点
- 剑指Offer------二叉搜索树的第k个结点
- 剑指offer---二叉搜索树的第k个结点
- 剑指offer-二叉搜索树中的第k个结点
- 剑指offer——二叉搜索树的第k个结点
- 剑指offer——二叉搜索树的第k个结点
- 剑指offer(C++)——二叉搜索树的第k个结点
- 剑指offer——二叉搜索树的第k个结点(一般)
- 剑指Offer—62—二叉搜索树的第k个结点
- 剑指offer——62.二叉搜索树的第k个结点
- 剑指offer—二叉搜索树的第k个结点
- 【智能法律】从律师到法律机器人,法律行业未来二十年的机遇和挑战 | AI观察
- sourceInsight快捷键
- 【强化学习】新加坡国立大学张戎:深度学习与强化学习
- 【LeetCode】377.Combination Sum IV(Medium)解题报告
- 15、观察者模式(Observer)
- 剑指offer—二叉搜索树的第k个结点
- RabbitMQ (Windows 64 )安装配置
- 给定一组候选号码(C)(没有重复)和一个目标号码(T),找出C中所有候选号码和T相加的唯一组合。
- MPU6050 加速计滤波
- font 文字(集合样式)
- php中的类与对象(魔术方法、克隆和重载)
- 1076. Wifi密码 (15) PAT乙级真题
- n个数相加的简便方法
- CSS布局总结