力扣面试150题--二叉搜索树中第k小的元素
Day 58
题目描述
思路
直接采取中序遍历,不过我们将k参与到中序遍历中,遍历到第k个元素就结束
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {int x=1;int num;public void mid(TreeNode root,int k){if(root==null||x>k){return;}mid(root.left,k);if(x==k){num=root.val;}x++;mid(root.right,k);}public int kthSmallest(TreeNode root, int k) {mid(root,k);return num;}
}