Re: [閒聊] 每日LeetCode

看板Marginalman作者 (みけねこ的鼻屎)時間1年前 (2022/09/28 10:06), 編輯推噓2(200)
留言2則, 2人參與, 1年前最新討論串14/719 (看更多)
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; } } 之前寫過了 當作複習 這題滿經典的 -- https://i.imgur.com/xDr11uL.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.102.191 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1664330816.A.688.html

09/28 10:12, 1年前 , 1F
我每天都看你的code打手槍
09/28 10:12, 1F

09/28 10:19, 1年前 , 2F
大師
09/28 10:19, 2F
文章代碼(AID): #1ZCwn0Q8 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ZCwn0Q8 (Marginalman)