摘要:遞歸法復(fù)雜度時(shí)間空間思路當(dāng)遞歸到鏈表尾部時(shí)返回,每次返回時(shí)長(zhǎng)度加,一旦長(zhǎng)度為時(shí)記錄下該節(jié)點(diǎn)。雙指針法復(fù)雜度時(shí)間空間思路用兩個(gè)指針,快指針先走步,然后快慢指針同時(shí)開始走,保持的距離,這樣當(dāng)快指針到達(dá)末尾時(shí),慢指針就是倒數(shù)第個(gè)。
Nth to Last Node in List
遞歸法 復(fù)雜度Find the nth to last element of a singly linked list.
The minimum number of nodes in list is n.
時(shí)間 O(N) 空間 O(N)
思路當(dāng)遞歸到鏈表尾部時(shí)返回,每次返回時(shí)長(zhǎng)度加1,一旦長(zhǎng)度為N時(shí)記錄下該節(jié)點(diǎn)。
雙指針法 復(fù)雜度時(shí)間 O(N) 空間 O(1)
思路用兩個(gè)指針,快指針先走N步,然后快慢指針同時(shí)開始走,保持N的距離,這樣當(dāng)快指針到達(dá)末尾時(shí),慢指針就是倒數(shù)第N個(gè)。
代碼public class Solution { ListNode nthToLast(ListNode head, int n) { // write your code here ListNode slow = head; ListNode fast = head; while(n-- > 0){ fast = fast.next; } while(fast != null){ fast = fast.next; slow = slow.next; } return slow; } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64520.html
摘要:依然是一道找倒數(shù)第個(gè)結(jié)點(diǎn)的鏈表題,用雙指針做。先走,然后和一起走,直到為,的位置就是倒數(shù)第個(gè)位置。 Problem Find the nth to last element of a singly linked list. The minimum number of nodes in list is n. Example Given a List 3->2->1->5->null ...
Problem Given a linked list, remove the nth node from the end of list and return its head. Example Given linked list: 1->2->3->4->5->null, and n = 2. After removing the second node from the end, the l...
摘要:給定一個(gè)鏈表,刪除鏈表的倒數(shù)第個(gè)節(jié)點(diǎn),并且返回鏈表的頭結(jié)點(diǎn)。示例給定一個(gè)鏈表和當(dāng)刪除了倒數(shù)第二個(gè)節(jié)點(diǎn)后,鏈表變?yōu)檎f明給定的保證是有效的。值得注意的的是,指向應(yīng)當(dāng)刪除的節(jié)點(diǎn)并無(wú)法刪除它,應(yīng)當(dāng)指向該刪除節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)。 給定一個(gè)鏈表,刪除鏈表的倒數(shù)第 n 個(gè)節(jié)點(diǎn),并且返回鏈表的頭結(jié)點(diǎn)。 Given a linked list, remove the n-th node from the ...
摘要:給定一個(gè)鏈表,刪除鏈表的倒數(shù)第個(gè)節(jié)點(diǎn),并且返回鏈表的頭結(jié)點(diǎn)。示例給定一個(gè)鏈表和當(dāng)刪除了倒數(shù)第二個(gè)節(jié)點(diǎn)后,鏈表變?yōu)檎f明給定的保證是有效的。值得注意的的是,指向應(yīng)當(dāng)刪除的節(jié)點(diǎn)并無(wú)法刪除它,應(yīng)當(dāng)指向該刪除節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)。 給定一個(gè)鏈表,刪除鏈表的倒數(shù)第 n 個(gè)節(jié)點(diǎn),并且返回鏈表的頭結(jié)點(diǎn)。 Given a linked list, remove the n-th node from the ...
摘要:雖然時(shí)間復(fù)雜度還是但是顯然我們可以再一次遍歷中完成這個(gè)任務(wù)。現(xiàn)在跳出下標(biāo)的思路,從另一個(gè)角度分析??炻?jié)點(diǎn)之間的距離始終是。當(dāng)快節(jié)點(diǎn)到達(dá)終點(diǎn)時(shí),此時(shí)的慢節(jié)點(diǎn)就是所要?jiǎng)h去的節(jié)點(diǎn)。 題目要求 Given a linked list, remove the nth node from the end of list and return its head. For example, ...
閱讀 1409·2021-10-14 09:43
閱讀 1003·2021-09-10 10:51
閱讀 1454·2021-09-01 10:42
閱讀 2200·2019-08-30 15:55
閱讀 594·2019-08-30 15:55
閱讀 2353·2019-08-30 14:21
閱讀 1725·2019-08-30 13:04
閱讀 3476·2019-08-29 13:09