欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網!

Java編程

當前位置:主頁 > 軟件編程 > Java編程 >

Java編程刪除鏈表中重復的節(jié)點問題解決思路及源碼分享

來源:本站原創(chuàng)|時間:2020-01-10|欄目:Java編程|點擊: 次

一. 題目

在一個排序的鏈表中,存在重復的結點,請刪除該鏈表中重復的結點,重復的結點不保留,返回鏈表頭指針。

二. 例子

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

三. 思路

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

操作流程:

①先判斷當前p指向與p.next指向是否為空,為空則進入⑤,不為空進入②;
②判斷當前節(jié)點p的值與與p.next的值是否相等,如果相等,進入③,不相等,進入④
③記錄p.val的值為val,循環(huán)判斷val是否與當前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編程刪除鏈表中重復的節(jié)點問題解決思路及源碼分享的全部內容,感興趣的朋友可以參閱:Java編程實現從尾到頭打印鏈表代碼實例、Spring boot jpa 刪除數據和事務管理的問題實例詳解、MySQL刪除表數據的方法以及本站其他相關專題,希望對大家有所幫助。如有不足之處,歡迎留言指出!感謝朋友們的閱讀。

上一篇:Java編程基本概念

欄    目:Java編程

下一篇:Java編程中的HashSet和BitSet詳解

本文標題:Java編程刪除鏈表中重復的節(jié)點問題解決思路及源碼分享

本文地址:http://mengdiqiu.com.cn/a1/Javabiancheng/8466.html

網頁制作CMS教程網絡編程軟件編程腳本語言數據庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網 版權所有