给定一个二叉搜索树的根节点
root,和一个整数k,请你设计一个算法查找其中第k个最小元素(从 1 开始计数)。
解题思路:中序遍历
代码如下:
- public int kthSmallest(TreeNode root, int k) {
- Stack
s = new Stack<>(); - while(root != null || !s.isEmpty()){
- while(root != null){
- s.push(root);
- root = root.left;
- }
- root = s.pop();
- k--;
- if(k == 0){
- break;
- }
- root = root.right;
-
- }
- return root.val;
-
- }