原文:兩鏈表求公共節點

引言 其實這道題目早在劍指Offer上就已經出現過,參見以前的這篇文章,但后來July前輩也有一片文章講過類似問題,對比之下,之前的解法還不夠全面,沒有考慮到所有情況,這篇文章把這道題目作一個梳理。 題目總結起來是這樣: 輸入兩個鏈表,判斷它們是否有公共節點,返回bool。 引申:找出它們的第一個公共節點的指針,如果沒有公共節點則返回NULL。 鏈表的定義如下: 輸出函數: 首先需要考慮空指針輸入 ...

2014-07-03 11:03 0 7805 推薦指數:

查看詳情

輸入鏈表,找出他們的第一個公共節點

分析:如果個單向鏈表公共的結點,也就是說鏈表從某一結點開始,它們的m_pNext都指向同一個結點。但由於是單向鏈表的結點,每個結點只有一個m_pNext,因此從第一個公共結點開始,之后它們所有結點都是重合的,不可能再出現分叉。所以,個有公共結點而部分重合的鏈表,拓撲形狀看起來像一個Y ...

Sun Apr 20 03:23:00 CST 2014 0 4706
劍指offer(36)鏈表中的第一個公共節點

題目描述 輸入鏈表,找出它們的第一個公共結點。 題目分析 我發現關於鏈表的題都涉及雙指針,大家做的時候記得用雙指針。 題目理解了就很好做了,比較簡單,先在長的鏈表上跑,直到長的和短的一樣長,再一起跑,判斷節點相等的時候就可以了。 代碼 ...

Mon Apr 09 13:14:00 CST 2018 5 452
面試題52. 鏈表的第一個公共節點

題目: 解答: 方法一:雙指針法 (1)創建個指針 pA 和 pB,分別初始化為鏈表 A 和 B 的頭結點。然后讓它們向后逐結點遍歷。 (2)當 pA到達鏈表的尾部時,將它重定位到鏈表 B 的頭結點 (你沒看錯,就是鏈表 B); 類似的,當 pB 到達鏈表 ...

Sun May 10 02:53:00 CST 2020 0 719
劍指Offer面試題:31.鏈表的第一個公共節點

一、題目:鏈表的第一個公共節點 題目:輸入鏈表,找出它們的第一個公共結點。   鏈表結點定義如下,這里使用C#語言描述: 二、解題思路 2.1 蠻力法   碰到這道題,很多人的第一反應就是蠻力法:在第一鏈表上順序遍歷每個結點,每遍歷到一個結點 ...

Sun Sep 20 08:23:00 CST 2015 1 6685
二叉樹系列 - 兩節點的最低公共祖先,例 劍指Offer 50

前言 本篇是對二叉樹系列中最低公共祖先類題目的討論。 題目 對於給定二叉樹,輸入個樹節點它們的最低公共祖先。 思考:這其實並不單單是一道題目,解題的過程中,要先弄清楚這棵二叉樹有沒有一些特殊的性質,這些特殊性質可以便於我們使用最優的方式解題。 傳統二叉樹的遍歷 ...

Mon Jul 07 08:36:00 CST 2014 0 8428
找出鏈表的第一個公共節點

62.找出鏈表的第一個公共結點。題目:個單向鏈表,找出它們的第一個公共結點 思路: 1.暴力法 但時間復雜度太高 o(n*m) 2.如果鏈表公共節點,則從該公共節點起,后面的節點均為公共的,即這鏈表在第一個公共節點交叉,然后形成一個Y字型,因為鏈表長度不一定一樣 ...

Sat Dec 05 01:12:00 CST 2015 0 1707
劍指offer解題報告(Java版)——找到鏈表的第一個公共節點 37

引言 這個問題一種常想到的方法就是層循環遍歷,外層循環遍歷鏈表A,對A中每個節點,遍歷鏈表B,如果在B中找到,說明這個節點是第一個公共節點,但是這樣的方法時間復雜為mn,一般是不允采用的 分析問題 所以我們需要分析更深層次的問題,找到其中的規律 ...

Thu Apr 30 23:53:00 CST 2015 1 2231
鏈表中的倒數第K個節點

  鏈表的倒數第K個節點:主要思路設置個指針,剛開始都指向鏈表的第一個節點,第一個指針先走k-1步,然后個一塊走,直到第一個指針的下一位為nullptr,則第二個指針所指的位置就是倒數第k個節點。   在編程書上看見這個方法,自己畫了個鏈表試了試果然是這樣,但是這是個什么原理 ...

Fri Apr 15 03:25:00 CST 2016 0 5162
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM