二叉搜索树的第k个结点
来源:互联网 发布:北京供销大数据怎么样 编辑:程序博客网 时间:2024/06/06 09:23
题目描述
给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。
import java.util.Stack;/** * 中序遍历寻找第k小的数 * * @author 过路的守望 * */public class InOrderTraversal { /* * 二叉树的中序遍历是从小到大的,可通过中序遍历来寻找第k小的节点。 */ public TreeNode getKthNode(TreeNode pRoot, int k) { if (pRoot == null || k <= 0) { return null; } TreeNode cur = pRoot; int p = 0; Stack<TreeNode> stack = new Stack<TreeNode>(); while (cur != null || !stack.isEmpty()) { while (cur != null) { stack.push(cur); cur = cur.left; } cur = stack.pop(); p++; if (p == k) { return cur; } cur = cur.right; } return null; } private static class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } }}
0 0
- 【二叉树】二叉搜索树的第k个结点
- 二叉搜索树第k个结点
- 【树14】二叉搜索树的第k个结点
- 剑指offerr--二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 《剑指offer》二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 剑指offer:二叉搜索树的第k个结点
- 58.二叉搜索树的第k个结点
- [剑指offer]二叉搜索树的第k个结点
- 二叉搜索树的第k个结点
- 二叉搜索树的第K个结点
- 二叉搜索树的第k个结点
- Android Audio getAudioSessionId
- 百度2016研发工程师在线编程题 4.蘑菇阵
- 常用的Android Studio 快捷键
- 使用CocoaPods 将ShareSDK2 替换到ShareSDK3解决问题备注。not Found ** 问题可能存在的原因。
- 整数的因子数
- 二叉搜索树的第k个结点
- amazon aws redhat linux配置php 环境
- 栈区和堆区内存分配区别
- HDU 1576 A/B
- codeforces round #346 div2
- 求二叉树中某个字符所在的层数
- 百度富文本编辑器Ueditor的使用
- Ubuntu 14.04 eclipse 提示框背景色更改
- isKindOfClass与isMemberOfClass的源码