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

資訊專欄INFORMATION COLUMN

每日一道算法題

The question / 2264人閱讀

摘要:遇到的坑剛拿到這道題就直接做了這樣的判斷,可是萬一是這個判斷就是錯誤的了。思路二上述算法遍歷了兩次鏈表,還額外申請了一個數(shù)組空間,效率不高,不如直接就地反轉(zhuǎn)鏈表,更改每個節(jié)點自身的指針。

2018.10.14 來源:劍指offer 題目:反轉(zhuǎn)鏈表

輸入一個鏈表,反轉(zhuǎn)鏈表后,輸出新鏈表的表頭。
思路一:
把所有鏈表內(nèi)容都輸入到一個數(shù)組,再次遍歷鏈表,得到數(shù)組反轉(zhuǎn)后的值,最后輸出原來的head,只是值變了。
遇到的坑:
剛拿到這道題就while(currentNode.next)直接做了這樣的判斷,可是萬一head是null,這個判斷就是錯誤的了。就導(dǎo)致了雖然自己測試的時候代碼是對的。但是??途W(wǎng)的編輯器卻一直通不過。

/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function ReverseList(pHead)
{
    // write code here
    var arr = [];
    var currentNode = pHead;
    while(currentNode) {
        arr.push(currentNode.val);
        currentNode = currentNode.next;
    }
    currentNode = pHead;
    while(currentNode) {
        currentNode.val = arr.pop();
        currentNode = currentNode.next;
    }
    return pHead;
}

思路二:
上述算法遍歷了兩次鏈表,還額外申請了一個數(shù)組空間,效率不高,不如直接就地反轉(zhuǎn)鏈表,更改每個節(jié)點自身的next指針。

function ReverseList(pHead)
{
    if(!pHead) return pHead;
    var prev = null;
    var next = null;
    while(true) {
        //保存上次
        next = pHead.next;
        pHead.next = prev;
        if(next === null) break;
        prev = pHead;
        pHead = next;
    }
    
    return pHead;
}

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

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

相關(guān)文章

  • 每日一道算法 - LetterChanges(easy-4)

    摘要:更多的小算法練習(xí),可以查看我的文章。規(guī)則使用語言,使用函數(shù)獲取傳遞的參數(shù)并使用以下算法對其進行修改。將字符串中的每個字母替換為字母表后面的字母即變?yōu)?,變?yōu)?。然后將這個新字符串,,,,中的每個元音大寫,并最終返回此修改后的字符串。 雖然都是很簡單的算法,每個都只需5分鐘左右,但寫起來總會遇到不同的小問題,希望大家能跟我一起每天進步一點點。更多的小算法練習(xí),可以查看我的文章。 規(guī)則 Usi...

    mo0n1andin 評論0 收藏0
  • 每日一道算法 - 反轉(zhuǎn)字符串(easy-3)

    摘要:規(guī)則使用語言,讓函數(shù)獲取傳遞的參數(shù),并以相反的順序返回字符串。測試用例思路方法通過把字符串轉(zhuǎn)換成數(shù)組,并使用數(shù)組的反轉(zhuǎn)數(shù)組,然后使用重新拼接成字符串方法向后循環(huán)字符串或字符數(shù)組以生成新字符串 雖然都是很簡單的算法,每個都只需5分鐘左右,但寫起來總會遇到不同的小問題,希望大家能跟我一起每天進步一點點。更多的小算法練習(xí),可以查看我的文章。 規(guī)則 Using the JavaScript l...

    xfee 評論0 收藏0
  • 每日一道算法 - LongestWord(easy-1)

    摘要:規(guī)則使用語言,讓函數(shù)獲取傳遞的參數(shù)并返回字符串中的最大單詞。忽略字符串中標點符號并假設(shè)不會為空。測試用例思路通過過濾字符串,并把字符串根據(jù)空格符轉(zhuǎn)換成字符串?dāng)?shù)組通過循環(huán)把獲取字符串?dāng)?shù)組中的長度最長的字符串 雖然都是很簡單的算法,每個都只需5分鐘左右,但寫起來總會遇到不同的小問題,希望大家能跟我一起每天進步一點點。更多的小算法練習(xí),可以查看我的文章。 規(guī)則 Using the JavaS...

    plokmju88 評論0 收藏0
  • 每日一道算法--二維數(shù)組中的查找--python

    摘要:題目描述代碼思路思路一按行執(zhí)行二分查找,只要該行的第一個元素小于目標,就對該行二分查找。思路二從數(shù)組的左下角開始查找,如果當(dāng)前值小于目標,就向右,即如果當(dāng)前值大于目標,就向上,即?!绢}目描述】 showImg(https://user-gold-cdn.xitu.io/2019/5/22/16addf094e0320ca); 【代碼思路】 思路一:按行執(zhí)行二分查找,只要該行的第一個元素小于目...

    番茄西紅柿 評論0 收藏0
  • 每日一道算法--二維數(shù)組中的查找--python

    摘要:題目描述代碼思路思路一按行執(zhí)行二分查找,只要該行的第一個元素小于目標,就對該行二分查找。思路二從數(shù)組的左下角開始查找,如果當(dāng)前值小于目標,就向右,即如果當(dāng)前值大于目標,就向上,即?!绢}目描述】 showImg(https://user-gold-cdn.xitu.io/2019/5/22/16addf094e0320ca); 【代碼思路】 思路一:按行執(zhí)行二分查找,只要該行的第一個元素小于目...

    luck 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<