<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實(shí)戰(zhàn)160:相交鏈表

          共 2122字,需瀏覽 5分鐘

           ·

          2021-01-20 14:00

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識(shí)和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個(gè)公眾號(hào)后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做?相交鏈表,我們先來看題面:
          https://leetcode-cn.com/problems/intersection-of-two-linked-lists/

          Write a program to find the node at which the intersection of two singly linked lists begins.

          題意

          編寫一個(gè)程序,找到兩個(gè)單鏈表相交的起始節(jié)點(diǎn)。
          如下面的兩個(gè)鏈表
          在節(jié)點(diǎn) c1 開始相交。

          樣例


          解題

          https://blog.csdn.net/u010189239/article/details/88947594

          思路:
          1.鏈表判空
          2.設(shè)置pa從headA開始,設(shè)置pb從headB開始
          3.pa,pb同時(shí)向后移動(dòng),直到兩者有一個(gè)為空則結(jié)束,表示無交點(diǎn)
          4.在3循環(huán)中,如果出現(xiàn)pa相遇pb,則此處為交點(diǎn)
          5.pa和pb后移一位
          6.如果pa和pb均換路且都到達(dá)尾部,則表示無交點(diǎn)
          7.在3循環(huán)中,如果pa到達(dá)尾部,則換路從headB開始后移;如果pb到達(dá)尾部,則換路從headA開始后移,注:換路只換一次
          8.無交點(diǎn)則返回空

          public?class?Solution?{
          ????public?ListNode getIntersectionNode(ListNode headA, ListNode headB)?{
          ????????//1.
          ????????if(headA==null||headB==null){
          ????????????return?null;
          ????????}
          ????????//2.
          ????????ListNode pa=headA;
          ????????ListNode pb=headB;
          ????????boolean?isPaChange=false;
          ????????boolean?isPbChange=false;
          ????????//3.
          ????????while(pa!=null&&pb!=null){
          ????????????//4.
          ????????????if(pa==pb){
          ????????????????return?pa;
          ????????????}
          ????????????//5.
          ????????????pa=pa.next;
          ????????????pb=pb.next;
          ????????????//6.
          ????????????if(isPaChange&&isPbChange&&pa==null&&pb==null){
          ????????????????break;
          ????????????}
          ????????????//7.
          ????????????if(pa==null){
          ????????????????pa=headB;
          ????????????????isPaChange=true;
          ????????????}
          ????????????if(pb==null){
          ????????????????pb=headA;
          ????????????????isPbChange=true;
          ????????????}
          ????????}
          ????????//8.
          ????????return?null;
          ????}
          }


          好了,今天的文章就到這里,如果覺得有所收獲,請(qǐng)順手點(diǎn)個(gè)在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動(dòng)力 。

          上期推文:

          LeetCode1-140題匯總,希望對(duì)你有點(diǎn)幫助!
          LeetCode刷題實(shí)戰(zhàn)141:環(huán)形鏈表
          LeetCode刷題實(shí)戰(zhàn)142:環(huán)形鏈表 II
          LeetCode刷題實(shí)戰(zhàn)143:重排鏈表
          LeetCode刷題實(shí)戰(zhàn)144:二叉樹的前序遍歷
          LeetCode刷題實(shí)戰(zhàn)145:二叉樹的后序遍歷
          LeetCode刷題實(shí)戰(zhàn)146:LRU 緩存機(jī)制
          LeetCode刷題實(shí)戰(zhàn)147:對(duì)鏈表進(jìn)行插入排序
          LeetCode刷題實(shí)戰(zhàn)148:排序鏈表
          LeetCode刷題實(shí)戰(zhàn)149:直線上最多的點(diǎn)數(shù)
          LeetCode刷題實(shí)戰(zhàn)150:逆波蘭表達(dá)式求值
          LeetCode刷題實(shí)戰(zhàn)151:翻轉(zhuǎn)字符串里的單詞
          LeetCode刷題實(shí)戰(zhàn)152:乘積最大子數(shù)組
          LeetCode刷題實(shí)戰(zhàn)153:尋找旋轉(zhuǎn)排序數(shù)組中的最小值
          LeetCode刷題實(shí)戰(zhàn)154:尋找旋轉(zhuǎn)排序數(shù)組中的最小值 II
          LeetCode刷題實(shí)戰(zhàn)155:最小棧
          LeetCode刷題實(shí)戰(zhàn)156:上下翻轉(zhuǎn)二叉樹
          LeetCode刷題實(shí)戰(zhàn)157:用 Read4 讀取 N 個(gè)字符
          LeetCode刷題實(shí)戰(zhàn)158:用 Read4 讀取 N 個(gè)字符 II
          LeetCode刷題實(shí)戰(zhàn)159:至多包含兩個(gè)不同字符的最長子串


          瀏覽 47
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本三级国产 | 国产精品九 | 伊人国产精品视频 | 免费看日逼视频情侣 | 成 人 网 站 观看 |