1. 程式人生 > >leetcode 19. 刪除連結串列的倒數第N個節點 (python) 進階問題

leetcode 19. 刪除連結串列的倒數第N個節點 (python) 進階問題



給定一個連結串列,刪除連結串列的倒數第 個節點,並且返回連結串列的頭結點。

示例:

給定一個連結串列: 1->2->3->4->5, 和 n = 2.

當刪除了倒數第二個節點後,連結串列變為 1->2->3->5.

說明:

給定的 n 保證是有效的。

進階:

你能嘗試使用一趟掃描實現嗎?

本題就算是進階問題也是很簡單的,但是需要記錄有連結串列有幾個數,並且將連結串列節點儲存到列表裡。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:  
    def removeNthFromEnd(self, head, n):  
        """ 
        :type head: ListNode 
        :type n: int 
        :rtype: ListNode 
        """  
        List = []  
        count = 0  
        while(head):  
            List.append(head)  
            head=head.next  
            count = count+1  
          
        if count==1:  
            return None  
        if List[-n].next==None:  
            List[-n-1].next = None  
            return List[0]  
        else:  
            List[-n].val = List[-n].next.val  
            List[-n].next = List[-n].next.next  
        return List[0]

給定一個連結串列,刪除連結串列的倒數第 個節點,並且返回連結串列的頭結點。

示例:

給定一個連結串列: 1->2->3->4->5, 和 n = 2.

當刪除了倒數第二個節點後,連結串列變為 1->2->3->5.

說明:

給定的 n 保證是有效的。

進階:

你能嘗試使用一趟掃描實現嗎?

相關推薦

leetcode 19. 刪除連結串列倒數N節點 python 問題

給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。示例:給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5. 說明:給定的 n

19 刪除連結串列倒數N節點

2.刪除連結串列倒數第N個節點 普通方法 ListNode *removeNthFromEnd(ListNode *head, int n) { if(head->next==nullptr) return nullptr; ListNode *first =

leetcode 刪除連結串列倒數n節點一次掃描

題目描述 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 演算法思想 採用一次掃描的辦法,需要定位到刪除節點的前面的節點 因此指標p往後挪動的個數為n+1次 注意如果p挪動之後,碰到空,說明刪除的是頭結點 使用兩個指標,一個從頭還是挪動,一

常見連結串列操作-刪除連結串列倒數n節點JAVA實現

問題 給出一個單向連結串列,刪除該連結串列倒數第n個節點,並返回頭節點。 例如: 給出連結串列 1->2->3->4->5,n=2 返回連結串列 1->2->3->5 解題思路 最容易想到的演算法: 先遍歷一次連結串列,

每天一道LeetCode-----刪除連結串列倒數n節點

原題連結Remove Nth Node From End of List 意思是給定一個連結串列,要求刪除倒數第n個節點,返回連結串列頭,複雜度在O(n) 思路就是找到倒數第n個和倒數第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->

LeetCode19 刪除連結串列倒數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->5, and

LeetCode題目--刪除連結串列倒數N節點python實現

題目 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3-

刪除連結串列倒數 n 結點

Java程式碼實現:刪除連結串列倒數第 n 個結點 問題描述: 給你一個單向連結串列,刪除連結串列倒數第n個結點,然後返回head結點。這裡的數字n是有效數字。 Given linked list: 1->2->3->4->5, and n = 2. 移

連結串列常用操作 單鏈表反轉 連結串列中環的檢測 兩有序的連結串列合併 刪除連結串列倒數 n 結點 求連結串列的中間結點

#include <stdio.h> #include <stdlib.h> /**  * 1) 單鏈表反轉  * 2) 連結串列中環的檢測  * 3) 兩個有序的連結串列合併  * 4) 刪除連結串列倒數第 n 個結點  * 5) 求連結串列的中間

[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->3->4->5, and n

初級-連結串列-刪除連結串列倒數N節點JavaScript

給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5. 說明

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

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

lintcode 連結串列倒數n節點

lintcode 連結串列倒數第n個節點 每日一練 加油 描述 找到單鏈表倒數第n個節點,保證連結串列中節點的最少數量為n。 樣例 給出連結串列 3->2->1->5->null和n = 2,返回倒數第二個節點的值1. 思路 第一個反應,先

移除連結串列倒數N節點

給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5. 思路:

Lintcode 166.連結串列倒數n節點

1.問題描述:找到單鏈表倒數第n個節點,保證連結串列中節點的最少數量為n 2.解題思路:建立兩個指向head的指標p q,讓p遍歷,p先開始移動,p走到第n-1個節點是,之後p q 一起往後移動,這時候當p指向最後一個節點的時候,q就指向了倒數第n個節點的位置,這時候返回q

連結串列-連結串列倒數n節點-簡單

描述找到單鏈表倒數第n個節點,保證連結串列中節點的最少數量為n。您在真實的面試中是否遇到過這個題?  是樣例給出連結串列 3->2->1->5->null和n = 2,返回倒數第

python---連結串列倒數n節點

""" Definition of ListNode class ListNode(object): def __init__(self, val, next=None): self.val = val self.nex

LeetCode 19. 刪除連結串列倒數N節點Remove Nth Node From End Of List

題目描述 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數

LeetCode---19. 刪除連結串列倒數N節點C語言實現

問題描述: 給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3-&g