1. 程式人生 > >連結串列---給定一個連結串列,刪除連結串列中倒數第n個節點,返回連結串列的頭節點

連結串列---給定一個連結串列,刪除連結串列中倒數第n個節點,返回連結串列的頭節點

連結串列中的節點個數大於等於n

給出連結串列1->2->3->4->5->null和 n = 2.

刪除倒數第二個節點之後,這個連結串列將變成1->2->3->5->null

 ListNode removeNthFromEnd(ListNode head, int n) {
        // write your code here
        ListNode dummy = new ListNode(-1);
        dummy.next = head;
        ListNode fast = dummy;
        ListNode slow = dummy;
        while (fast != null && n > -1) {
            fast = fast.next;
            n--;
        }
        while (fast != null) {
            fast = fast.next;
            slow = slow.next;
        }
        slow.next = slow.next.next;
        return dummy.next;
    }

相關推薦

連結串列---給定一個連結串列刪除連結串列倒數n節點返回連結串列節點

連結串列中的節點個數大於等於n 給出連結串列1->2->3->4->5->null和 n = 2. 刪除倒數第二個節點之後,這個連結串列將變成1->2->3->5->null ListNode removeNthF

LeetCode刪除連結串列倒數n結點

  Given a linked list, remove the n-th node from the end of list and return its head. Example: Given linked list: 1->2->3->4-

leetcode19--刪除連結串列倒數n節點

       友情提示,刷leetcode題目的時候,先刷支援率高的題目,這些題目的質量好,我現在按照top 100 like 這個列表中的順序刷題,先把hard以下的刷完。       今天的第二題:刪除連結串列中倒數第n個元素,要求最好是隻遍歷一遍。難度:中等。    

python_lintcode_372在O(1)時間複雜度刪除連結串列節點_174刪除連結串列倒數n節點

372在O(1)時間複雜度刪除連結串列節點 題目 給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間複雜度刪除該連結串列節點。 樣例 Linked list is

LintCode 刪除連結串列倒數n節點

/**  * Definition of ListNode  * class ListNode {  * public:  *     int val;  *     ListNode *next;  *     ListNode(int val) {  *         this->val = va

LintCode—刪除連結串列倒數n節點(174)

資料結構—線性結構—連結串列:(刪除連結串列中倒數第n個元素)一、題目:給定一個連結串列,刪除連結串列中倒數第n個節點,返回連結串列的頭節點。(連結串列中的節點個數大於n)樣例:給出連結串列1->

LintCode Remove Nth Node From End of List 刪除連結串列倒數n節點

給定一個連結串列,刪除連結串列中倒數第n個節點,返回連結串列的頭節點。 Given a linked list, remove the nth node from the end of list and return its head. 樣例 給出連結串列

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->

刪除鏈表的倒數N節點

定位 bubuko end turn div png tno 返回 com 給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,鏈表變

19. 刪除鏈表的倒數N節點

href 一個 標記 需要 沒有 lse problems 刪除 pro 19. 刪除鏈表的倒數第N個節點 1A,開心~ 註意,題目有進階要求,只允許掃鏈表1次, 很多鏈表題跟這個思路一樣,在遍歷鏈表的時候,維護一個距離與當前頭指針為(n+1)的尾巴標記P即可,當掃到鏈表結

刪除鏈表的倒數N節點(三種方法實現)

from ++ n+1 while end != bsp -- 結點 刪除鏈表的倒數第N個節點 給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪

【LeetCode & 劍指offer刷題】鏈表題4:22 刪除鏈表倒數k結點(19. Remove Nth Node From End of List)

star urn n+1 valid ffffff 防禦性編程 normal move rgb 【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) 19. Remove Nth Node From End of List Given a l

[LeetCode]19. Remove Nth Node From End of List刪除鏈表的倒數N節點

指針 ext 但是 res bec pan [1] note urn Given a linked list, remove the n-th node from the end of list and return its head. Example: Given l

LeetCode 18題 刪除鏈表的倒數N節點

soft head 鏈表 span ems lis class return tps /*19. 刪除鏈表的倒數第N個節點給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。示例:給定一個鏈表: 1->2->3->4->5, 和 n =

刪除鏈表的倒數N節點---簡單

distance nullptr spa 進階 let rom val 復雜度 style 題目:   給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪

編寫程式要求通過一次遍歷找到單鏈表倒數 n 節點

這是我們實習的第一道題目 1問題描述:要求通過一次遍歷找到單鏈表中倒數第 n 個節點(ps: 不允許使用 雙向連結串列;不允許 修改原始單鏈表;可使用額外的輔助空間,但是輔助空間的數目必須最小,不能和

leecode刷題(21)-- 刪除鏈表的倒數N節點

from 鏈表 nth nod 刪除鏈表 mov 頭結點 移動 lin leecode刷題(21)-- 刪除鏈表的倒數第N個節點 刪除鏈表的倒數第N個節點 描述: 給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2-&

19. Remove Nth Node From End of List(刪除鏈表n結點)

and lin ima bsp strong nth node mes 倒數第n個數 時間復雜度 Given a linked list, remove the n-th node from the end of list and return its head. Exa

LeetCode 19 - 刪除鏈表的倒數N節點 - [鏈表]

ret mov c代碼 move == () href lse head 題目鏈接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ 題解: 兩個 $p,q$ 指針均指向頭,然後

19. 刪除鏈表的倒數N節點——LeetCode

init mage sin 問題 new color n-1 http bubuko 心得:對於鏈表問題,加頭指針可能簡化問題 /** * Definition for singly-linked list. * public class ListN