题目:
题意: 给定一个二叉搜索树,求树中最小的第K个元素
思路: 对树进行中序遍历得到是会是有序的从小到大的结果,直接取中序遍历结果的第k元素就是结果
具体代码:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
List<Integer> list = new ArrayList<>();
public int kthSmallest(TreeNode root, int k) {
preOrder(root);
return list.get(k-1);
}
public void preOrder(TreeNode root){
if(root == null){
return;
}
preOrder(root.left);
list.add(root.val);
preOrder(root.right);
}
}