摘要:題目描述給定一個鏈表,刪除鏈表的倒數(shù)第個節(jié)點,并且返回鏈表的頭結點。示例給定一個鏈表和當刪除了倒數(shù)第二個節(jié)點后,鏈表變?yōu)楹唵蔚乃悸酚靡粋€數(shù)組保存所有的鏈表節(jié)點,遍歷完之后可以知道倒數(shù)第個鏈表節(jié)點。
題目描述
給定一個鏈表,刪除鏈表的倒數(shù)第 n 個節(jié)點,并且返回鏈表的頭結點。
示例:
給定一個鏈表: 1->2->3->4->5, 和 n = 2.簡單的思路
當刪除了倒數(shù)第二個節(jié)點后,鏈表變?yōu)?1->2->3->5.
用一個數(shù)組保存所有的鏈表節(jié)點,遍歷完之后可以知道倒數(shù)第 n 個鏈表節(jié)點。
時間復雜度 為 O(k),空間復雜度 為 O(k),這里 k 為鏈表長度。
使用兩個指針,快指針先遍歷 n 個節(jié)點,之后兩個指針再一起遍歷,等到快指針遍歷結束后,慢指針指向的當前節(jié)點就是倒數(shù)第 n 個節(jié)點。
時間復雜度 為 O(k),空間復雜度 為 O(1),這里 k 為鏈表長度。
??注意:為了寫代碼方便,我們可以在鏈表頭節(jié)點前加多一個節(jié)點。
示例代碼:/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} head * @param {number} n * @return {ListNode} */ var removeNthFromEnd = function(head, n) { let temp = { next: head } temp.next = head let p = q = temp for (let i = 0; i <= n; i++) { p = p.next } while(p) { p = p.next q = q.next } q.next = q.next.next return temp.next };
原題地址: https://leetcode-cn.com/probl...
代碼不定時更新,歡迎 star 我的 repo
掃描下方的二維碼或搜索「tony老師的前端補習班」關注我的微信公眾號,那么就可以第一時間收到我的最新文章。
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/106047.html
摘要:示例輸入輸出示例輸入輸出示例輸入輸出提示雙指針法分析根據(jù)題干的要求,我們需要刪除倒數(shù)第個節(jié)點,在返回頭結點。只需要找到倒數(shù)第個節(jié)點,將其刪除,再返回。 ?作者簡...
摘要:給定一個鏈表,刪除鏈表的倒數(shù)第個節(jié)點,并且返回鏈表的頭結點。示例給定一個鏈表和當刪除了倒數(shù)第二個節(jié)點后,鏈表變?yōu)檎f明給定的保證是有效的。值得注意的的是,指向應當刪除的節(jié)點并無法刪除它,應當指向該刪除節(jié)點的前一個節(jié)點。 給定一個鏈表,刪除鏈表的倒數(shù)第 n 個節(jié)點,并且返回鏈表的頭結點。 Given a linked list, remove the n-th node from the ...
摘要:給定一個鏈表,刪除鏈表的倒數(shù)第個節(jié)點,并且返回鏈表的頭結點。示例給定一個鏈表和當刪除了倒數(shù)第二個節(jié)點后,鏈表變?yōu)檎f明給定的保證是有效的。值得注意的的是,指向應當刪除的節(jié)點并無法刪除它,應當指向該刪除節(jié)點的前一個節(jié)點。 給定一個鏈表,刪除鏈表的倒數(shù)第 n 個節(jié)點,并且返回鏈表的頭結點。 Given a linked list, remove the n-th node from the ...
摘要:題目描述給定一個鏈表,刪除鏈表的倒數(shù)第個節(jié)點,并且返回鏈表的頭結點。示例給定一個鏈表和當刪除了倒數(shù)第二個節(jié)點后,鏈表變?yōu)檎f明給定的保證是有效的。 題目描述 給定一個鏈表,刪除鏈表的倒數(shù)第 n 個節(jié)點,并且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪除了倒數(shù)第二個節(jié)點后,鏈表變?yōu)?1->2->3->5. 說明: 給定的 n 保證是有效...
摘要:既然說到地址空間了就順帶說一下上面環(huán)形鏈表這道題的另一種很的解法吧。介紹完常規(guī)操作鏈表的一些基本知識點后,現(xiàn)在回到快慢指針。 ??前幾天第一次在 Segmentfault 發(fā)文—JavaScript:十大排序的算法思路和代碼實現(xiàn),發(fā)現(xiàn)大家似乎挺喜歡算法的,所以今天再分享一篇前兩個星期寫的 Leetcode 刷題總結,希望對大家能有所幫助。 ??本文首發(fā)于我的blog 前言 ??今天終于...
閱讀 2766·2021-11-16 11:53
閱讀 2864·2021-07-26 23:38
閱讀 2148·2019-08-30 15:55
閱讀 1866·2019-08-30 13:21
閱讀 3768·2019-08-29 17:26
閱讀 3439·2019-08-29 13:20
閱讀 963·2019-08-29 12:20
閱讀 3278·2019-08-26 10:21