把一个二叉数用中根遍历,然后存入ArrayList. 以下是我的代码,请问什么地方错了: public ArrayList<Integer> output(){
ArrayList<Integer> al = new ArrayList<Integer>();
return traverseInorder(root,al);
} protected ArrayList<Integer> traverseInorder(BSTNode rt,ArrayList<Integer> l){
if(rt!=null){
if(rt.getLeft()!=null)
traverseInorder(rt.getLeft(), l); if(rt.getCount()>=2)
for(int i=1;i<(rt.getCount());i++)
l.add(rt.getData());
if(rt.getRight()!=null)
traverseInorder(rt.getRight(),l);
}
return l;
}
ArrayList<Integer> al = new ArrayList<Integer>();
return traverseInorder(root,al);
} protected ArrayList<Integer> traverseInorder(BSTNode rt,ArrayList<Integer> l){
if(rt!=null){
if(rt.getLeft()!=null)
traverseInorder(rt.getLeft(), l); if(rt.getCount()>=2)
for(int i=1;i<(rt.getCount());i++)
l.add(rt.getData());
if(rt.getRight()!=null)
traverseInorder(rt.getRight(),l);
}
return l;
}
for(int i=1;i<(rt.getCount());i++)
l.add(rt.getData()); 这几行是做什么的?