Re: [閒聊] 每日LeetCode

作者: Rushia (みけねこ的鼻屎)   2022-09-28 10:06:53
19. Remove Nth Node From End of List
移除鏈結串列後面數來的第n個節點,題目保證n必定小於串列長度。
思路:
1.用快慢指針來求解
2.先讓快指針走n步,再來快慢指針一起走直到快指針為null
3.慢指針最後會停在要被刪除的元素之前,將他指向下下個元素
4.避免遇到要刪除的節點是頭節點,我們用一個dummy作為頭節點,快指針也改
成多走一步。
5.返回dummy.next
Java Code:
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode dummy = new ListNode(0);
ListNode slow = dummy, fast = dummy;
slow.next = head;
for(int i = 1; i <= n + 1; i++) {
fast = fast.next;
}
while(fast != null) {
slow = slow.next;
fast = fast.next;
}
slow.next = slow.next.next;
return dummy.next;
}
}
之前寫過了 當作複習
這題滿經典的
作者: Ericz7000 (Ericz7000nolan)   2022-09-28 10:12:00
我每天都看你的code打手槍
作者: sustainer123 (caster)   2022-09-28 10:19:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com