真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java編程刪除鏈表中重復(fù)的節(jié)點(diǎn)問題解決思路及源碼分享-創(chuàng)新互聯(lián)

一. 題目

創(chuàng)新互聯(lián)專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國(guó)電信/網(wǎng)通/移動(dòng)機(jī)房,雅安服務(wù)器托管服務(wù)有保障!

在一個(gè)排序的鏈表中,存在重復(fù)的結(jié)點(diǎn),請(qǐng)刪除該鏈表中重復(fù)的結(jié)點(diǎn),重復(fù)的結(jié)點(diǎn)不保留,返回鏈表頭指針。


二. 例子


輸入鏈表:1->2->3->3->4->4->5
處理后為:1->2->5


三. 思路


個(gè)人感覺這題關(guān)鍵是注意指針的指向,可以定義一個(gè)first對(duì)象(值為-1,主要用于返回操作后的鏈表),first.next指向head,定義一個(gè)last同樣指向first(主要用于操作記錄要?jiǎng)h除節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)),定義一個(gè)p指向head,指向當(dāng)前節(jié)點(diǎn)。


操作流程:


②判斷當(dāng)前節(jié)點(diǎn)p的值與與p.next的值是否相等,如果相等,進(jìn)入③,不相等,進(jìn)入④
③記錄p.val的值為val,循環(huán)判斷val是否與當(dāng)前p指向相等,相等的話p = p.next,last.next指向p;
④last指向p,p指向p.next;
⑤返回first.next;


四. 程序源碼

class ListNode { 
  int val; 
  ListNode next = null; 
  ListNode(int val) { 
    this.val = val; 
  } 
} 
public class Solution { 
  public ListNode deleteDuplication(ListNode pHead) 
  { 
    ListNode first = new ListNode(-1); 
    first.next = pHead; 
    ListNode last = first; 
    ListNode p = pHead; 
    while(p!=null&&p.next!=null){ 
      if(p.val==p.next.val){ 
        int val = p.val; 
        while(p!=null&&p.val==val){ 
          p = p.next; 
        last.next = p; 
        } 
      }else{ 
        last = p; 
        p = p.next; 
      } 
    } 
    return first.next; 
  } 
}

文章名稱:Java編程刪除鏈表中重復(fù)的節(jié)點(diǎn)問題解決思路及源碼分享-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/ggcdd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部