package tree;
/**
 * 230. 二叉搜索树中第K小的元素
 * 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。
 *
 * @author Tang
 * @date 2021/7/15
 */
public class KthSmallest {
    int k = 0;
    int temp = 0;
    /**
     * 中序遍历就行
     * @param root
     * @param k
     * @return
     */
    public int kthSmallest(TreeNode root, int k) {
        if(root == null){
            return 0;
        }
        this.k = k;
        midSearch(root);
        return temp;
    }
    private void midSearch(TreeNode node){
        if(node == null){
            return;
        }
        midSearch(node.left);
        if(k == 0){
            return;
        }
        k--;
        temp = node.val;
        midSearch(node.right);
    }
    public static void main(String[] args) {
    }
}