leetcode 經典面試題之連結串列(19. 刪除連結串列的倒數第N個節點)
- 刪除連結串列的倒數第N個節點
給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。
示例:
給定一個連結串列: 1->2->3->4->5, 和 n = 2.
當刪除了倒數第二個節點後,連結串列變為 1->2->3->5.
說明:
給定的 n 保證是有效的。
func removeNthFromEnd(head *ListNode, n int) *ListNode {
//判斷連結串列是否為空
if head == nil {
return nil
}
fast := head
slow := head
// head = 1->2->3->4->5->nil n=2
// fast = 3->4->5->nil
for i := 0; i < n; i++ {
fast = fast.Next
}
//如果 fast==nil 說明刪除的為連結串列的頭節點
if fast == nil {
return head.Next
}
for fast.Next != nil {
fast = fast.Next
slow = slow.Next
}
slow.Next = slow.Next.Next
return head
}
相關推薦
leetcode 經典面試題之連結串列(19. 刪除連結串列的倒數第N個節點)
刪除連結串列的倒數第N個節點 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->
leetcode:Remove Nth Node From End of List(刪除連結串列倒數第n個節點)【面試演算法題】
題目: Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->
【LeetCode-面試演算法經典-Java實現】【019-Remove Nth Node From End of List(移除單鏈表的倒數第N個節點)】
原題 Given a linked list, remove the nth node from the end of list and return its head. F
19. Remove Nth Node From End of List(移除連結串列的倒數第n個節點)
問題描述 Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->
LeetCode 19. Remove Nth Node From End of List(刪除單鏈表倒數第N個結點)
題目描述: Given a linked list, remove the nth node from the end of list and return its head.例子: Give
在單向連結串列中如何快速查到倒數第n個節點?
(1)定義2個指標p1,p2。 (2)使用迴圈讓p2指向順數第n個節點; (3)然後,p1和p2同時移動,直到p2指向NULL,此時p1應該指向倒數第n個節點。 如果n=1,那麼p1指向倒數第一個節點,這是很常見的演算法。
[Leetcode] remove nth node from the end of list 刪除鏈表倒數第n各節點
truct def 倒數 move col lis remove str class Given a linked list, remove the n th node from the end of list and return its head. For exampl
leetcode 經典面試題之連結串列 (2. 兩數相加)
兩數相加 給出兩個 非空 的連結串列用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 單位 數字。 如果,我們將這兩個數起來相加起來,則會返回出一個新的連結串列來表示它們的和。 您可以假設除了數字 0 之外,這兩
運維經典面試題之網路篇(一)
1、寫出12.23.34.0/29的掩碼 11111111.11111111.11111111.11111000 255.255.255.248 2、簡述衝突域與廣播域的區別 衝突域:基於osi的第一層物理層。 一個站點向另一個站
LeetCode題目--刪除連結串列的倒數第N個節點(python實現)
題目 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3-
【LeetCode題解】19_刪除連結串列的倒數第N個節點(Remove-Nth-Node-From-End-of-List)
更多 LeetCode 題解筆記可以訪問我的 github。 文章目錄 描述 解法:雙指標 思路 Java 實現 Python 實現 複雜度分析 描述 給定一個連結串列,
領釦(LeetCode)刪除連結串列的倒數第N個節點 個人題解
給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5. 說明: 給定的&
刪除連結串列的倒數第N個節點(leetcode)
給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5. 說
LeetCode 19. 刪除連結串列的倒數第N個節點(Remove Nth Node From End Of List)
題目描述 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數
【leetcode】刪除連結串列的倒數第N個節點(C語言解答)
題目: 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5.
LeetCode 19. 刪除連結串列的倒數第N個節點 Remove Nth Node From End of List(C語言)
題目描述: 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->
leetcode連結串列題--刪除連結串列的倒數第N個節點(java實現)
原題 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了
leetcode 刪除連結串列倒數第n個節點(一次掃描)
題目描述 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 演算法思想 採用一次掃描的辦法,需要定位到刪除節點的前面的節點 因此指標p往後挪動的個數為n+1次 注意如果p挪動之後,碰到空,說明刪除的是頭結點 使用兩個指標,一個從頭還是挪動,一
leetcode 19. 刪除連結串列的倒數第N個節點 (python) 進階問題
給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。示例:給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5. 說明:給定的 n
LeetCode | Remove Nth Node From End of List(移除連結串列中倒數第n個結點)
題目: Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->