国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【刷算法】兩種類型的刪除有序鏈表中的重復(fù)節(jié)點

googollee / 1350人閱讀

摘要:題目描述刪除有序鏈表中的重復(fù)節(jié)點,返回頭節(jié)點刪除掉所有重復(fù)節(jié)點,例如,返回重復(fù)的節(jié)點中保留一個,例如,返回刪除掉所有重復(fù)節(jié)點細節(jié)這里面有幾個需要注意的細節(jié)新建一個空的頭節(jié)點,因為這里面牽扯到換新的鏈表頭的問題,所

題目描述

刪除有序鏈表中的重復(fù)節(jié)點,返回頭節(jié)點

刪除掉所有重復(fù)節(jié)點,例如1->1->2->2->3->4,返回3->4

重復(fù)的節(jié)點中保留一個,例如1->1->2->2->3->4,返回1->2->3->4

刪除掉所有重復(fù)節(jié)點
function ListNode(x){
    this.val = x;
    this.next = null;
}
function deleteDuplication(pHead){
    if(pHead === null || pHead.next === null) 
        return pHead;
    var H = new ListNode(null);
    H.next = pHead;

    var pre = H;
    var cur = pHead;

    while(cur !== null && cur.next !== null) {
        if(cur.next.val === cur.val){
            var curRepetitiveVal = cur.val;
            while(cur !== null && cur.val === curRepetitiveVal) {
                cur = cur.next;
            }
            pre.next = cur;
        }else{
            pre = cur;
            cur = cur.next;
        }
    }

    return H.next;
}

細節(jié)
這里面有幾個需要注意的細節(jié):

新建一個空的頭節(jié)點,因為這里面牽扯到換新的鏈表頭的問題,所以為了方便新建一個新的節(jié)點作為鏈表的頭節(jié)點

每個重復(fù)節(jié)點中保留一個
function ListNode(x){
    this.val = x;
    this.next = null;
}
function deleteDuplication(pHead){
    if(pHead === null || pHead.next === null) 
        return pHead;
    var H = new ListNode(null);
    H.next = pHead;

    var pre = H;
    var cur = pHead;

    while(cur !== null && cur.next !== null) {
        if(cur.next.val === cur.val){
            pre = cur;
            var curRepetitiveVal = cur.val;
            while(cur !== null && cur.val === curRepetitiveVal) {
                cur = cur.next;
            }
            pre.next = cur;
        }else{
            pre = cur;
            cur = cur.next;
        }
    }    

    return H.next;
}

細節(jié)

這個和刪除掉所有重復(fù)節(jié)點的區(qū)別就是發(fā)現(xiàn)有相同的節(jié)點時,pre指針立馬指向重復(fù)的節(jié)點中的第一個節(jié)點

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/95522.html

相關(guān)文章

  • LeetCode題83-簡單-刪除有序鏈表重復(fù)

    文章目錄 ?? 前言 ??? 作者簡介 ?? 一、題目描述 ?? 二、題目解析 ?? 三、代碼 ??? 1??. python ???? 2??. C# ?? ? 結(jié)語 ? ?? 前言 ?? 算法作為極其重要的一點,是大學(xué)生畢業(yè)找工作的核心競爭力,所以為了不落后與人,開始刷力扣算法題! ? 作者簡介 ? 大家好,我是布小禪,一個盡力讓無情的代碼變得生動有趣的IT小白,很高興能偶認識你,關(guān)注我...

    henry14 評論0 收藏0
  • 算法】LeetCode.237-刪除表中節(jié)點

    摘要:題目描述請編寫一個函數(shù),使其可以刪除某個鏈表中給定的非末尾節(jié)點,你將只被給定要求被刪除的節(jié)點。鏈表中所有節(jié)點的值都是唯一的。給定的節(jié)點為非末尾節(jié)點并且一定是鏈表中的一個有效節(jié)點。 題目描述 請編寫一個函數(shù),使其可以刪除某個鏈表中給定的(非末尾)節(jié)點,你將只被給定要求被刪除的節(jié)點。 現(xiàn)有一個鏈表 -- head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示...

    zone 評論0 收藏0
  • JavaScript 數(shù)據(jù)結(jié)構(gòu)與算法之美 - 線性表(數(shù)組、棧、隊列、鏈表

    摘要:每個線性表上的數(shù)據(jù)最多只有前和后兩個方向。數(shù)組鏈表隊列棧等就是線性表結(jié)構(gòu)。非線性表數(shù)據(jù)之間并不是簡單的前后關(guān)系。不包含任何元素的棧稱為空棧。移除棧頂?shù)脑兀瑫r返回被移除的元素。 showImg(https://segmentfault.com/img/bVbuvnj?w=900&h=250); 前言 基礎(chǔ)知識就像是一座大樓的地基,它決定了我們的技術(shù)高度。 我們應(yīng)該多掌握一些可移值的...

    kaka 評論0 收藏0
  • 數(shù)據(jù)結(jié)構(gòu)初探,了解不同類型數(shù)據(jù)結(jié)構(gòu)

    摘要:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。不同類型的數(shù)據(jù)結(jié)構(gòu)編程世界中存在許多不同類型的數(shù)據(jù)結(jié)構(gòu)。可以將集合數(shù)據(jù)結(jié)構(gòu)進行排序,并將其稱為有序集合。 數(shù)據(jù)結(jié)構(gòu)基本概念 數(shù)據(jù)元素(Data Element) 數(shù)據(jù)元素是數(shù)據(jù)的基本單位,在計算機程序中通常將其作為一個整體進行考慮和處理。一個數(shù)據(jù)元素可由若干個數(shù)據(jù)項組成。 數(shù)據(jù)項 (Data Item) 數(shù)據(jù)項是數(shù)據(jù)結(jié)...

    chengtao1633 評論0 收藏0
  • Leetcode:完31道鏈表一點總結(jié)

    摘要:既然說到地址空間了就順帶說一下上面環(huán)形鏈表這道題的另一種很的解法吧。介紹完常規(guī)操作鏈表的一些基本知識點后,現(xiàn)在回到快慢指針。 ??前幾天第一次在 Segmentfault 發(fā)文—JavaScript:十大排序的算法思路和代碼實現(xiàn),發(fā)現(xiàn)大家似乎挺喜歡算法的,所以今天再分享一篇前兩個星期寫的 Leetcode 刷題總結(jié),希望對大家能有所幫助。 ??本文首發(fā)于我的blog 前言 ??今天終于...

    DevTalking 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<