国产一区二区美女诱惑_国产精品免费播放_91精品国产综合久久香蕉麻豆 _久久精品30_久久综合88_国产精品亚洲成人_黑人极品videos精品欧美裸_亚洲色图欧美激情

原創生活

國內 商業 滾動

基金 金融 股票

期貨金融

科技 行業 房產

銀行 公司 消費

生活滾動

保險 海外 觀察

財經 生活 期貨

當前位置:滾動 >

代碼隨想錄第四天|力扣24.兩兩交換鏈表節點、力扣19.刪除鏈表的倒數第N個結點、力扣面試02.07鏈表相交、力扣142.環形鏈表

文章來源:博客園  發布時間: 2023-07-31 06:35:33  責任編輯:cfenews.com
+|-


(資料圖)

兩兩交換鏈表中的節點(力扣24.)

  • dummyhead .next = head;
  • cur = dummyhead;
  • while(cur.next!=null&&cur.next.next!=null)
  • temp = cur.next;
  • temp1=cur.next.next.next;
  • cur.next= cur.next.next;
  • cur.next.next=temp;
  • temp.next=temp1;
  • cur = cur.next.next;
  • return dummyhead.next;
/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode() {} *     ListNode(int val) { this.val = val; } *     ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */class Solution {    public ListNode swapPairs(ListNode head) {        //只是用一個temp指針            ListNode dummyHead = new ListNode();            dummyHead.next = head;            ListNode cur = dummyHead;            while(cur.next != null && cur.next.next != null){                //臨時指針存儲cur的next,因為在操作后會變成孤立節點                ListNode temp = cur.next;                //操作進行                cur.next = cur.next.next;                temp.next = cur.next.next;                cur.next.next = temp;                //下一循環                cur = cur.next.next;            }            return dummyHead.next;    }}

刪除鏈表的倒數第N個結點

  • 雙指針
  • 等距離雙指針刪除鏈表倒數第N個元素,注意指針應該停留在刪除目標的前一個元素
  • 為實現上述目標可以令快指針先走n+1步且終止條件為fast==null
  • 或者快指針先走n步且終止條件為fast.next==null,以下方法使用第二種
/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode() {} *     ListNode(int val) { this.val = val; } *     ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */class Solution {    public ListNode removeNthFromEnd(ListNode head, int n) {        //雙指針        ListNode dummyHead = new ListNode();        dummyHead.next = head;        ListNode cur = dummyHead;        ListNode post = dummyHead;        while(n > 0){            post = post.next;            if(post == null){                return null;            }            n--;        }        while(post.next != null){            post = post.next;            cur = cur.next;        }        if(cur.next != null){            cur.next = cur.next.next;        }else{            cur.next = null;        }                return dummyHead.next;    }}

面試題:鏈表相交(力扣面試題02.07)

  • 簡單來說,就是求兩個鏈表交點節點的指針。 交點不是數值相等,而是指針相等。
  • 我們求出兩個鏈表的長度,并求出兩個鏈表長度的差值,并令curA為長度更大的一方。然后讓curA移動到,和curB 末尾對齊的位置,然后以此求兩指針是否相同
/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { *         val = x; *         next = null; *     } * } */public class Solution {    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {        ListNode curA = headA;        ListNode curB = headB;        int lenA = 0;        int lenB = 0;        while(headA != null){            headA = headA.next;            lenA++;        }        while(headB != null){            headB = headB.next;            lenB++;        }        headA = curA;        headB = curB;        if(lenA < lenB){            ListNode temp = headB;            headB = headA;            headA = temp;            int tempInt = 0;            tempInt = lenB;            lenB = lenA;            lenA = tempInt;        }        int gap = lenA - lenB;        while(gap != 0){            headA = headA.next;            gap--;        }        while(headA != null){            if(headA == headB){                return headA;            }            headA = headA.next;            headB = headB.next;        }        return null;    }}

環形鏈表(力扣142.)

  • 判斷鏈表是否有環
  • 返回環的入口(如果存在)
  • 快慢雙指針判斷是否有環:
  • 快指針每次走兩個結點,慢指針每次走一個結點
  • 快指針對于慢指針的相對速度是每次一個結點
  • 因此快指針和慢指針一定會在環里相遇
  • y + z = 一圈;且y為慢指針在圈內走過的距離
  • slow = x + y
  • fast = x + y + n(y + z)//n為fast多余圈數
  • 又因為fast = 2 * slow
  • x + y + n(y+z) = 2(x + y)
  • x = n(y + z) - y;
  • 其中n應該大于等于1
  • x = (n - 1)(y + z) + z;
  • n=1時,x=z;兩指針會在環入口相遇
  • n!= 1 時,同理
  • 即從相遇的地方開始,與起點開始的指針以相同速度移動,最后相遇的點就是入口
/** * Definition for singly-linked list. * class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { *         val = x; *         next = null; *     } * } */public class Solution {    public ListNode detectCycle(ListNode head) {        //快慢指針,從快慢指針交界點開始與另一指針從頭節點開始以相同速度進行,交點即為環入口        ListNode fast = head;        ListNode slow = head;        ListNode target = head;        if(fast == null){            return null;        }        while(fast.next!= null &&fast.next.next !=null){            fast = fast.next.next;            slow = slow.next;            if(fast == slow){                break;            }        }        if(fast.next == null||fast.next.next==null){            return null;        }        while(target != slow){            slow = slow.next;            target = target.next;        }        return target;    }}

關鍵詞:

專題首頁|財金網首頁

投資
探索

精彩
互動

獨家
觀察

京ICP備2021034106號-38   營業執照公示信息  聯系我們:55 16 53 8 @qq.com 關于我們 財金網  版權所有  cfenews.com
亚洲大全视频| 欧美日韩国产丝袜另类| 国产日韩影视精品| 亚洲一区在线观看视频| 午夜精品福利一区二区蜜股av| 欧美色图免费看| 国产乱子视频| 国产三级在线| 四虎成人在线| 日本在线电影一区二区三区| 免费日韩一区二区| 成人动漫精品一区二区| 一区二区三区在线视频观看| 欧美疯狂做受xxxx富婆| 米奇.777.com| 黄色影院在线看| youjizz欧美| 国产精品久久| 本田岬高潮一区二区三区| 一区二区三区四区中文字幕| 91精品国产高清一区二区三区| 91精品久久久久久9s密挑 | 亚洲一区二区av| 久久精品国产亚洲夜色av网站| 日本强好片久久久久久aaa| 亚洲国产高清在线观看视频| 91 com成人网| 91青青在线视频| av成人男女| 日本午夜精品视频在线观看 | 都市激情一区| 国产精品毛片无码| 亚洲精品一级| 中文字幕乱码亚洲精品一区| 日韩视频中午一区| 国产在线激情| 精品高清久久| 99视频精品在线| 在线播放视频一区| 黄色毛片在线观看| 51社区在线成人免费视频| 日本成人中文字幕在线视频| 亚洲一区二区免费视频| 亚洲欧美在线免费观看| 亚洲黄色免费看| 樱桃成人精品视频在线播放| 成人免费一区二区三区视频| 日韩www在线| 在线女人免费视频| 精品成人一区| 亚洲一二三区在线观看| 最新av在线网站| 96sao在线精品免费视频| 国产综合久久久久久鬼色| 色婷婷av久久久久久久| h视频在线免费| 不卡中文一二三区| 国产精品色哟哟| 九色福利视频| 国产一区二区三区视频在线| 国内一区二区视频| 欧美日韩免费观看一区三区| 91麻豆免费在线视频| 欧美激情第二页| 亚洲五月六月丁香激情| 免费人成黄页在线观看忧物| 欧美人妖在线| 国产精品美女一区二区在线观看| 国产成人午夜精品| av不卡一区| 久久亚洲一区二区三区四区| 亚洲人在线视频| 岛国成人av| 久久久久久99精品| 在线观看av每日更新免费| 欧美日韩直播| 国产精品高潮呻吟| 成人精品福利| 国产精品啊v在线| 日韩欧美亚洲范冰冰与中字| 国产盗摄在线观看| 亚洲毛片一区| 欧美精品123区| 国产在视频一区二区三区吞精| 国产精品一区专区| 亚洲精品色婷婷福利天堂| 中文在线免费一区三区| 久久久久久免费毛片精品| 轻轻色免费在线视频| 日韩黄色大片| 欧美午夜激情视频| 欧美精选视频一区二区| 精品一区二区三区在线观看| 亚洲精品久久久一区二区三区| 超碰成人在线免费| 怡红院av一区二区三区| 国产三级伦理在线| 国产乱理伦片在线观看夜一区| 黑巨人与欧美精品一区| 精品成人影院| 日本精品视频一区二区| 国产综合色在线观看| 91视频你懂的| eeuss影院在线播放| 亚洲永久免费| 亚洲欧美国产视频| 国产国产精品| 91精品欧美一区二区三区综合在| 精品久久亚洲| 亚洲一区二区精品久久av| 国产污视频在线播放| 99精品桃花视频在线观看| 国产三级在线| 久久97超碰色| 四虎在线免费看| 日本成人在线视频网站| 亚洲精品电影久久久| 水蜜桃精品av一区二区| 欧美视频在线观看一区二区| 国产色99精品9i| 午夜影院在线观看欧美| 亚洲精品一区av| 亚洲成人免费观看| 成人精品在线| 欧美日韩中文字幕| 日韩精品成人| 色偷偷一区二区三区| 精品综合久久88少妇激情| 91福利在线免费观看| 欧美18免费视频| 欧美美女视频在线观看| 国产麻豆精品久久| 日韩精品一区二区三区中文不卡| 狠狠操综合网| 亚洲精品一区二区三区在线观看| 亚洲精品国产成人影院| 亚洲人成电影网站色www| 一本色道久久综合亚洲精品不卡| 免费黄色网页| 丝袜美腿亚洲色图| 成人高清网站| 国产亚洲人成网站| 成人免费一区| 91高清视频免费看| 国产精品成人a在线观看| 亚洲日韩欧美视频一区| 日韩高清电影一区| av在线电影播放| 久久老女人爱爱| 精品福利在线| 欧美日韩国产电影| 好看的av在线不卡观看| 性欧美孕妇孕交| 91一区二区三区在线播放| 亚洲成人av观看| 欧美综合一区二区| 欧美1区2区| 性综艺节目av在线播放| 国产精品1区二区.| 欧洲一区二区三区精品| 在线免费一区三区| 天天做综合网| 中文字幕在线一二| 久久久三级国产网站| 国产一区二区三区黄网站| 欧美mv日韩mv国产| 蜜臀国产一区二区三区在线播放| 黄网站免费在线观看| 亚洲一区二区三区中文字幕| 一区二区三区免费| 久久久人人人| 高清在线一区| 国产视频精选在线| 日本欧美在线观看| 黄色在线免费观看网站| 91免费精品| 亚洲国产国产| www.成人.com| 亚洲激情图片小说视频| 欧美亚洲色图校园春色| 亚洲跨种族黑人xxx| 国v精品久久久网| 精品国产伦一区二区三区观看说明 | 一级毛片国产| 国产欧美一区视频| 日韩精品丝袜美腿| 在线免费视频你懂得| 国产精品三级电影| 91日韩视频| 日本视频在线播放| 色婷婷精品大视频在线蜜桃视频| 欧美黄色一区二区| www欧美xxxx| 欧美日韩国产高清一区二区三区| 日本不卡一区二区| 亚洲成人毛片| 亚州黄色一级| 亚洲男女一区二区三区| 狠狠干综合网| 影视一区二区三区|