我有一个方法必须的返回一个ArrayList,而且要用InOrder遍历那个二叉数按从小到大的顺序排列。最要紧的是,每个遍历的数字如果它有重复,得把每次重复都要打印出来。谢谢高人了,真心请教,我是想了2天了实在没辙才敢来麻烦大家的。以下是我写的,肯定不对,但请大家帮忙指导:
public ArrayList BSTNode pirntInOrder{
      ArrayList al=new ArrayList();
      if(left!=null)
            left.printInOrder();
      al.add(element);
      if(right!=null)
            right.printInOrder();
}

解决方案 »

  1.   

    说句实话-什么是二叉树本人早就不知道了。但是方法基本如下:ArrayList--〉add elements-->change it to Array--->using binary sort method--->now your can change array to arrayList that is a sorted arrayList.
      

  2.   

    方法只能有一个返回值啊,你可以用局部变量来写ArrayList
      

  3.   

    public ArrayList BSTNode pirntInOrder{这第一句是个什么啊。
    如果是方法的话,要这么写
     
    public List getAList(){
    }
    因为忘了二叉树是什么了,所以不知道如何写内容,见谅。
    还有一般不会直接在方法的返回值的地方写 类名,一般是写接口名,呵呵,就象我这样的。
      

  4.   

    private List xxx(){
        if (xxxxx){
    }}
      

  5.   

    private List xxx(){
        List list = new ArrayList();
        if (xxxxx){
        return list=xxxx;
        }
        return list = yyyy;
    }
      

  6.   

    public ArrayList BSTNode pirntInOrder{
          ArrayList al=new ArrayList();
         
    reutrn al;
    }