成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【刷算法】合并兩個排序的單鏈表

2501207950 / 2974人閱讀

摘要:題目描述輸入兩個單調(diào)遞增的鏈表,輸出兩個鏈表合成后的鏈表,當然我們需要合成后的鏈表滿足單調(diào)不減規(guī)則。

題目描述

輸入兩個單調(diào)遞增的鏈表,輸出兩個鏈表合成后的鏈表,當然我們需要合成后的鏈表滿足單調(diào)不減規(guī)則。

分析

首先考慮兩個鏈表的頭部哪個成為新鏈表的頭,顯然是值小的那個是新的頭;

然后是合并時,兩個鏈表上分別有一個指針cur1和cur2,比較兩個指針指向的節(jié)點值大小,較小的鏈接到新鏈表的尾部,且指針往后移動一個,較大的則不動;
可能有某個鏈表未遍歷完,直接將其全添加到新鏈表尾部即可。

代碼實現(xiàn)
/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function Merge(h1, h2)
{
    if(h1 === null && h2 === null)
        return;
    if(h1 ===  null)
        return h2;
    if(h2 === null)
        return h1;
    
    var newH = null, cur1 = null, cur2 = null, newE = null;
    if(h1.val < h2.val){
        newH = h1;
        cur1 = h1.next;
        cur2 = h2;
    }
    else{
        newH = h2;
        cur1 = h1;
        cur2 = h2.next;
    }
    newE = newH;
    while (cur1 !== null && cur2  !== null) {
        if(cur1.val < cur2.val){
            newE.next = cur1;
            cur1 = cur1.next;
        }else{
            newE.next = cur2;
            cur2 = cur2.next; 
        } 
         newE = newE.next;
    }
    while(cur1 !== null){
        newE.next = cur1;
        cur1 = cur1.next;
    }
    while(cur2 !== null){
        newE.next = cur2;
        cur2 = cur2.next;
    }
    
    return newH;
}

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

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

相關(guān)文章

  • 第7期 Datawhale 組隊學(xué)習(xí)計劃

    馬上就要開始啦這次共組織15個組隊學(xué)習(xí) 涵蓋了AI領(lǐng)域從理論知識到動手實踐的內(nèi)容 按照下面給出的最完備學(xué)習(xí)路線分類 難度系數(shù)分為低、中、高三檔 可以按照需要參加 - 學(xué)習(xí)路線 - showImg(https://segmentfault.com/img/remote/1460000019082128); showImg(https://segmentfault.com/img/remote/...

    dinfer 評論0 收藏0
  • 算法】翻轉(zhuǎn)單鏈遞歸和非遞歸方法

    摘要:題目描述輸入一個鏈表,反轉(zhuǎn)鏈表后,輸出新鏈表的表頭。分析典型的面試題以及大學(xué)數(shù)據(jù)結(jié)構(gòu)課程常見題,沒啥好分析的了代碼實現(xiàn)遞歸版非遞歸版 題目描述 輸入一個鏈表,反轉(zhuǎn)鏈表后,輸出新鏈表的表頭。 分析 典型的面試題以及大學(xué)數(shù)據(jù)結(jié)構(gòu)課程常見題,沒啥好分析的了... 代碼實現(xiàn) 遞歸版 function ListNode(x){ this.val = x; this.next = ...

    ziwenxie 評論0 收藏0
  • 從一道前端面試題談起

    摘要:但是題目非要弄成鏈表的形式,說實在的,我真沒有見過前端什么地方還需要用鏈表這種結(jié)構(gòu)的除了面試的時候,所以說這種題目對于實際工作是沒什么用處的,但是腦筋急轉(zhuǎn)彎的智商題既然這樣出了,我們就來看看怎么解決它吧。 今天在知乎上看到一個回答《為什么前端工程師那么難招?》,作者提到說有很多前端工程師甚至連單鏈表翻轉(zhuǎn)都寫不出來。說實話,來面試的孩子們本來就緊張,你要冷不丁問一句單鏈表翻轉(zhuǎn)怎么寫,估計...

    darkbaby123 評論0 收藏0
  • LeetCode 之 JavaScript 解答第23題 —— 合并K個有序鏈(Merge K S

    摘要:分治算法遞歸每層操作分解將原問題分解成一系列的子問題。分治算法滿足的條件可分解原問題與分解成的小問題具有相同的模式無關(guān)聯(lián)原問題分解成的子問題可以獨立求解,子問題之間沒有相關(guān)性,這一點是分治算法跟動態(tài)規(guī)劃的明顯區(qū)別。 Time:2019/4/10Title: Merge K Sorted ListsDifficulty: DifficultyAuthor: 小鹿 題目:Merge K...

    zhou_you 評論0 收藏0
  • 數(shù)據(jù)結(jié)構(gòu)與算法——單鏈練習(xí)

    摘要:概述前面的文章說到了一種很基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)鏈表數(shù)據(jù)結(jié)構(gòu)與算法鏈表,今天就來看看關(guān)于單鏈表的幾種常見的操作,技術(shù)筆試的時候很大概率能夠遇到其中的一些。 1. 概述 前面的文章說到了一種很基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)——鏈表:數(shù)據(jù)結(jié)構(gòu)與算法——鏈表,今天就來看看關(guān)于單鏈表的幾種常見的操作,技術(shù)筆試的時候很大概率能夠遇到其中的一些。多練習(xí)一下,對我們理解鏈表有很大的幫助,也能夠提升我們的編碼能力。廢話不多說...

    fuchenxuan 評論0 收藏0

發(fā)表評論

0條評論

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