给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。
package offer.KthNode;
import java.util.ArrayList;
public class Solution {
ArrayList list = new ArrayList();
TreeNode KthNode(TreeNode pRoot, int k) {
midTravel(pRoot);
int s = list.size();
if (k == 0 || k > s)
return null;
return (TreeNode) list.get(k - 1);
}
public void midTravel(TreeNode node) {
if (node != null) {
midTravel(node.left);
list.add(node);
midTravel(node.right);
}
}
}