import java.util.*;

/*

  • public class TreeNode {
  • int val = 0;
  • TreeNode left = null;
  • TreeNode right = null;
  • public TreeNode(int val) {
  • this.val = val;
    
  • }
  • } */

public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param proot TreeNode类 * @param k int整型 * @return int整型 */ public int KthNode (TreeNode proot, int k) { if(proot == null) return -1; if(k <= 0) return -1;

    List<Integer> list = new ArrayList<>();
    Queue<TreeNode> queue = new LinkedList<>();
    queue.add(proot);
    
    while(!queue.isEmpty()) {
    	if(queue.peek().left != null) {
    		queue.add(queue.peek().left);
    	}
    	if(queue.peek().right != null) {
    		queue.add(queue.peek().right);
    	}
    	
    	list.add(queue.peek().val);
    	queue.poll();
    }
    
    Collections.sort(list);
    if(k > list.size()) {
    	return -1;
    }else {
    	return list.get(k-1);
    }
}

}