算法簡單題:相交鏈表

編寫一個程序系宫,找到兩個單鏈表相交的起始節(jié)點凌唬。

如下面的兩個鏈表:

image.png

在節(jié)點 c1 開始相交腹殿。

示例 1:

image.png

輸入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3
輸出:Reference of the node with value = 8
輸入解釋:相交節(jié)點的值為 8 (注意舷蒲,如果兩個鏈表相交則不能為 0)。從各自的表頭開始算起,鏈表 A 為 [4,1,8,4,5]昧捷,鏈表 B 為 [5,0,1,8,4,5]闲昭。在 A 中,相交節(jié)點前有 2 個節(jié)點靡挥;在 B 中序矩,相交節(jié)點前有 3 個節(jié)點。

示例 2:

image.png

輸入:intersectVal = 2, listA = [0,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1
輸出:Reference of the node with value = 2
輸入解釋:相交節(jié)點的值為 2 (注意跋破,如果兩個鏈表相交則不能為 0)簸淀。從各自的表頭開始算起,鏈表 A 為 [0,9,1,2,4]毒返,鏈表 B 為 [3,2,4]租幕。在 A 中,相交節(jié)點前有 3 個節(jié)點拧簸;在 B 中劲绪,相交節(jié)點前有 1 個節(jié)點。

示例 3:

image.png

輸入:intersectVal = 0, listA = [2,6,4], listB = [1,5], skipA = 3, skipB = 2
輸出:null
輸入解釋:從各自的表頭開始算起盆赤,鏈表 A 為 [2,6,4]贾富,鏈表 B 為 [1,5]。由于這兩個鏈表不相交牺六,所以 intersectVal 必須為 0颤枪,而 skipA 和 skipB 可以是任意值。
解釋:這兩個鏈表不相交兔乞,因此返回 null汇鞭。

注意:

如果兩個鏈表沒有交點,返回 null.
在返回結(jié)果后庸追,兩個鏈表仍須保持原有的結(jié)構(gòu)。
可假定整個鏈表結(jié)構(gòu)中沒有循環(huán)台囱。
程序盡量滿足 O(n) 時間復(fù)雜度淡溯,且僅用 O(1) 內(nèi)存。

鏈接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists

解題思路:

解體答案:

/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */

/**
 * @param {ListNode} headA
 * @param {ListNode} headB
 * @return {ListNode}
 */
var getIntersectionNode = function(headA, headB) {
    let pA = headA, pB = headB
    while(pA || pB) {
        if(pA === pB) return pA
        pA = pA === null ? headB : pA.next
        pB = pB === null ? headA : pB.next
    }
    return null;
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末簿训,一起剝皮案震驚了整個濱河市咱娶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌强品,老刑警劉巖膘侮,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異的榛,居然都是意外死亡琼了,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雕薪,“玉大人昧诱,你說我怎么就攤上這事∷” “怎么了盏档?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長燥爷。 經(jīng)常有香客問我蜈亩,道長,這世上最難降的妖魔是什么前翎? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任勺拣,我火速辦了婚禮,結(jié)果婚禮上鱼填,老公的妹妹穿的比我還像新娘药有。我一直安慰自己,他們只是感情好苹丸,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布愤惰。 她就那樣靜靜地躺著,像睡著了一般赘理。 火紅的嫁衣襯著肌膚如雪宦言。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天商模,我揣著相機(jī)與錄音奠旺,去河邊找鬼。 笑死施流,一個胖子當(dāng)著我的面吹牛响疚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瞪醋,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼忿晕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了银受?” 一聲冷哼從身側(cè)響起践盼,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宾巍,沒想到半個月后咕幻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡顶霞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年肄程,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡绷耍,死狀恐怖吐限,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情褂始,我是刑警寧澤诸典,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站崎苗,受9級特大地震影響狐粱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜胆数,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一肌蜻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧必尼,春花似錦蒋搜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至券盅,卻和暖如春帮哈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锰镀。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工娘侍, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泳炉。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓憾筏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親胡桃。 傳聞我的和親對象是個殘疾皇子踩叭,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354