亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

googollee / 1387人閱讀

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

題目描述

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

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

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

刪除掉所有重復(fù)節(jié)點(diǎn)
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;
}

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

新建一個(gè)空的頭節(jié)點(diǎn),因?yàn)檫@里面牽扯到換新的鏈表頭的問題,所以為了方便新建一個(gè)新的節(jié)點(diǎn)作為鏈表的頭節(jié)點(diǎn)

每個(gè)重復(fù)節(jié)點(diǎn)中保留一個(gè)
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;
}

細(xì)節(jié)

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

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/95522.html

相關(guān)文章

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

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

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

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

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

    摘要:每個(gè)線性表上的數(shù)據(jù)最多只有前和后兩個(gè)方向。數(shù)組鏈表隊(duì)列棧等就是線性表結(jié)構(gòu)。非線性表數(shù)據(jù)之間并不是簡單的前后關(guān)系。不包含任何元素的棧稱為空棧。移除棧頂?shù)脑?,同時(shí)返回被移除的元素。 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)進(jìn)行排序,并將其稱為有序集合。 數(shù)據(jù)結(jié)構(gòu)基本概念 數(shù)據(jù)元素(Data Element) 數(shù)據(jù)元素是數(shù)據(jù)的基本單位,在計(jì)算機(jī)程序中通常將其作為一個(gè)整體進(jìn)行考慮和處理。一個(gè)數(shù)據(jù)元素可由若干個(gè)數(shù)據(jù)項(xiàng)組成。 數(shù)據(jù)項(xiàng) (Data Item) 數(shù)據(jù)項(xiàng)是數(shù)據(jù)結(jié)...

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

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

    DevTalking 評論0 收藏0

發(fā)表評論

0條評論

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