加了一个判断减少递归次数
import java.util.ArrayList;
public class Solution {
ArrayList<TreeNode> list = new ArrayList();
TreeNode KthNode(TreeNode pRoot, int k){
if( pRoot == null || k == 0 ) return null;
toLDR(pRoot, k);
if( k>=1 && list.size() >= k ) return list.get(k-1);
return null;
}
public void toLDR( TreeNode node, int k){
if( node != null ) {
// 通过此处判断减少递归次数
if ( list.size() >= k ) return ;
toLDR( node.left, k );
list.add( node );
toLDR( node.right, k );
}
}
}

京公网安备 11010502036488号