日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[leetcode]19.删除链表的倒数第N个节点

發布時間:2024/2/28 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [leetcode]19.删除链表的倒数第N个节点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

給你一個鏈表,刪除鏈表的倒數第?n?個結點,并且返回鏈表的頭結點。

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

示例 1:

輸入:head = [1,2,3,4,5], n = 2 輸出:[1,2,3,5]

示例 2:

輸入:head = [1], n = 1 輸出:[]

示例 3:

輸入:head = [1,2], n = 1 輸出:[1]

提示:

  • 鏈表中結點的數目為?sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz

思路:求出鏈表的長度,刪除倒數第N個節點

# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next # class Solution: # def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode: # dummy = ListNode(0, head) # first = head # second = dummy # for i in range(n): # first = first.next# while first: # first = first.next # second = second.next# second.next = second.next.next # return dummy.nextclass Solution:# def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:# def getLength(head: ListNode) -> int:# length = 0# while head:# length += 1# head = head.next# return length# dummy = ListNode(0, head)# length = getLength(head)# cur = dummy# for i in range(1, length - n + 1):# cur = cur.next# cur.next = cur.next.next# return dummy.nextdef removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:def getLength(head:ListNode)->int:length = 0while head:length+=1head = head.nextreturn lengthdummy = ListNode(0,head)length = getLength(head)cur = dummyfor i in range(1,length-n+1):cur = cur.nextcur.next = cur.next.nextreturn dummy.next

?

總結

以上是生活随笔為你收集整理的[leetcode]19.删除链表的倒数第N个节点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。