不和lz谈语言,就和lz谈下阅读理解
                add(this.next) ;  //这个是把自己的后继结点加到自己的位置上
                this.next.add(newNode);  //这个是把newNode加到自己的后继节点的位置上
你说有啥区别?第一条语句连newNode都没了,你竟然敢说没区别~

解决方案 »

  1.   

    add时是需要加到一个后继指针为空的节点后,首先需要找到这个节点,再进行add。
    public void add(Node newNode){        // 将节点加入到合适的位置             if(this.next==null){            // 如果下一个节点为空,则把新节点设置在next的位置上                 this.next = newNode ;             }else{        // 如果不为空,则需要向下继续找next                 add(this.next) ;                 //this.next.add(newNode);             }         } 楼主的add(this.next)始终是在把next节点加在自己的上,并没有去找到一个为空的节点。所以会有错误。
      

  2.   

    再问一下:add(this.next) ; 在新增2个节点时,不会出现问题,只有在2个以上的节点才会进入死循环?
      

  3.   

    我感觉我在这块还是迷糊,分不清类似这种:this.next.print() ;