刪除鏈表中重複的結點JAVA__重複資料刪除結點

來源:互聯網
上載者:User

思路:定義四個結點,前結點prenode,當前結點node,下一個結點nextnode,刪除結點delnode,在遇到刪除結點時候要保證prenode串連上nextnode,防止斷裂情況。

public static void deleteDuplication(ListNote root){        if(root==null){            return;        }        ListNote preNode=null;//前結點        ListNote node=root;//當前結點        while(node!=null){            ListNote nextNode=node.getNext();//下一個結點            boolean needDelete=false;//判斷當前結點和下一個結點值是否相等     if(nextNode!=null&&nextNode.getValue()==node.getValue())                needDelete=true;          if(!needDelete){//不相等,向前移動              preNode=node;              node=node.getNext();                      }          else{//相等,刪除該結點              int value=node.getValue();              ListNote toBeDel=node;              while(toBeDel!=null&&toBeDel.getValue()==value){                  nextNode=toBeDel.getNext();//刪除該結點                  toBeDel=nextNode;              }                if(preNode==null){//頭結點刪除時                  root=nextNode;              }              else{                  //即刪除了重複結點                  preNode.setNext(nextNode);              }              node=nextNode;          }        }    }

定義單向鏈表ListNote

public class ListNote {    private  ListNote NextNote;    private int value;    public ListNote(){      }    public ListNote(int value){        this.value=value;    }      public  ListNote getNext(){             return NextNote;                }    public void setNext(ListNote next){        this.NextNote=next;     }       public int getValue(){        return value;       }    public void setValue(int value){        this.value=value;    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.