自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LeetCode之刪除鏈表的倒數(shù)第 N 個結(jié)點

開發(fā) 前端
本篇帶給你算法題題解整理中的關(guān)于一個鏈表,刪除鏈表的倒數(shù)第 n 個結(jié)點,并且返回鏈表的頭結(jié)點的相關(guān)知識點。

前言

我們社區(qū)陸續(xù)會將顧毅(Netflix 增長黑客,《iOS 面試之道》作者,ACE 職業(yè)健身教練。微博:@故胤道長[1])的 Swift 算法題題解整理為文字版以方便大家學習與閱讀。

LeetCode 算法到目前我們已經(jīng)更新了 18 期,我們會保持更新時間和進度(周一、周三、周五早上 9:00 發(fā)布),每期的內(nèi)容不多,我們希望大家可以在上班路上閱讀,長久積累會有很大提升。

不積跬步,無以至千里;不積小流,無以成江海,Swift社區(qū) 伴你前行。

難度水平:中等

1. 描述

給你一個鏈表,刪除鏈表的倒數(shù)第 n 個結(jié)點,并且返回鏈表的頭結(jié)點。

2. 示例

示例 1

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

示例 2

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

示例 3

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

約束條件:

  • 鏈表中結(jié)點的數(shù)目為 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz

3. 答案

  1. class RemoveNthFromEnd { 
  2.     func removeNthFromEnd(_ head: ListNode?, _ n: Int) -> ListNode? { 
  3.         let dummy = ListNode(0) 
  4.         dummy.next = head 
  5.         var prev: ListNode? = dummy 
  6.         var post: ListNode? = dummy 
  7.          
  8.         // move post 
  9.         for _ in 0..<n { 
  10.             post = post!.next 
  11.         } 
  12.          
  13.         // move prev and post at the same time 
  14.         while post!.next != nil { 
  15.             prev = prev!.next 
  16.             post = post!.next 
  17.         } 
  18.          
  19.         prev!.next = prev!.next!.next 
  20.          
  21.         return dummy.next 
  22.     } 

  • 主要思想:運動員技術(shù)
  • 時間復雜度:O(n)
  • 空間復雜度:O(1)

該算法題解的倉庫:LeetCode-Swift[2]

點擊前往 LeetCode[3] 練習

關(guān)于我們Swift社區(qū)是由 Swift 愛好者共同維護的公益組織,我們在國內(nèi)以微信公眾號的運營為主,我們會分享以 Swift實戰(zhàn)、SwiftUl、Swift基礎(chǔ)為核心的技術(shù)內(nèi)容,也整理收集優(yōu)秀的學習資料。

參考資料

[1] @故胤道長:

https://m.weibo.cn/u/1827884772

[2] LeetCode-Swift:

https://github.com/soapyigu/LeetCode-Swift

[3] LeetCode:

https://leetcode.com/problems/remove-nth-node-from-end-of-list/

 

責任編輯:姜華 來源: Swift社區(qū)
相關(guān)推薦

2021-02-03 13:23:42

鏈表倒數(shù)結(jié)點

2021-08-10 07:57:03

算法鏈表倒數(shù)

2021-04-14 10:19:18

鏈表倒數(shù)結(jié)點

2020-10-19 13:27:19

鏈表倒數(shù)結(jié)點

2022-06-01 06:58:41

節(jié)點鏈表倒數(shù)

2021-02-04 08:18:53

LeetCode鏈表

2023-04-17 07:33:11

反轉(zhuǎn)鏈表移除鏈表

2021-01-28 08:20:41

鏈表空間復雜度

2021-01-21 08:23:29

鏈表單鏈表循環(huán)鏈表

2022-02-16 09:12:22

LeetCode升序鏈表鏈表數(shù)組

2012-06-19 14:23:04

云計算中國

2018-03-01 13:32:28

宏碁游戲本PC行業(yè)

2012-02-17 09:45:04

網(wǎng)速手機

2012-02-17 09:43:13

手機網(wǎng)速移動互聯(lián)

2012-08-10 10:53:03

云計算BSA商業(yè)軟件聯(lián)盟

2010-11-15 10:49:23

求職

2012-06-18 10:07:17

云計算實力榜

2019-11-01 11:19:25

轉(zhuǎn)鏈表LeetCode代碼

2021-08-26 10:07:25

數(shù)組前端元素

2022-03-07 11:03:08

大數(shù)據(jù)檢測谷歌
點贊
收藏

51CTO技術(shù)棧公眾號