[LeetCode]230. Kth Smallest Element in a BST
来源:互联网 发布:淘宝细节图 编辑:程序博客网 时间:2024/06/14 15:53
Given a binary search tree, write a function kthSmallest
to find the kth smallest element in it.
Note:
You may assume k is always valid, 1 ? k ? BST's total elements.
思路:从最小的开始进行从1编号,直到等于k停止并返回值。
使用一个栈,先从root一直选择左节点到最后为止,都压入栈中,此时栈顶就为最小的节点,表为1,随后开始弹栈
弹栈后先进行判断,如果有右节点,则说明在此节点和此时栈顶之前还有介于这两个值的节点没有遍历,然后把这个右节点的选择左节点到最后压入栈中,最后再将编号加一,进行下一个节点递归
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public int kthSmallest(TreeNode root, int k) { Stack<TreeNode> stack=new Stack<TreeNode>(); TreeNode h=root; while(h!=null){ stack.push(h); h=h.left; } return fun(stack.pop(),1,k,stack); }public int fun(TreeNode root,int n,int k,Stack<TreeNode> stack){if(n==k){return root.val;}if(root.right!=null){TreeNode h=root.right; while(h!=null){ stack.push(h); h=h.left; }} return fun(stack.pop(),n+1,k,stack);}}
0 0
- #leetcode#Kth Smallest Element in a BST
- leetcode--Kth Smallest Element in a BST
- Leetcode|Kth Smallest Element in a BST
- [leetcode] Kth Smallest Element in a BST
- 【LeetCode】Kth Smallest Element in a BST
- LeetCode Kth Smallest Element in a BST
- 【leetcode】Kth Smallest Element in a BST
- LeetCode Kth Smallest Element in a BST
- leetcode: Kth Smallest Element in a BST
- Leetcode: Kth Smallest Element in a BST
- [LeetCode] Kth Smallest Element in a BST
- [LeetCode]Kth Smallest Element in a BST
- [Leetcode]Kth Smallest Element in a BST
- leetcode--Kth Smallest Element in a BST
- 【leetcode】Kth Smallest Element in a BST
- [leetcode] Kth Smallest Element in a BST
- [Leetcode]Kth Smallest Element in a BST
- Leetcode: Kth Smallest Element in a BST
- 异步处理框架
- 玲珑杯-射击气球-点到线段的距离
- Pre-train 与 Fine-tuning
- 八、SpringBoot覆盖默认的错误处理方式
- tiny-spring代码学习(一)
- [LeetCode]230. Kth Smallest Element in a BST
- find
- 八、java对象和方法区的垃圾回收
- javascript挑战编程技能-第九题:数据结构
- 文档总结:虚拟机的管理
- Linux下 标识符task_struct结构体详解
- opencv 图形处理 && nodejs
- awk
- Android7.0 电源管理-updatePowerStateLocked 基本流程图