LintCode之鍊錶倒數第n個節點

2022-08-27 02:21:14 字數 839 閱讀 5421

題目描述:

我的**:

1

/**2

* definition for listnode.

3* public class listnode

10* }

11*/

1213

14public

class

solution

25 listnode h = new listnode(-1);

26//

倒置單鏈表

27while(head != null

) else

35if(head.next != null

) else40}

41 h =h.next;

42//

取得倒置後的單鏈表的第n個節點,這個節點就是原鍊錶的倒數第n個節點

43for(int i=1; i)

46 listnode node = new

listnode(h.val);

47return

node;48}

49 }

總結:因為這是單鏈表,無法像雙鏈表一樣輕鬆的獲得乙個節點的前乙個節點,所以,我就把這個單鏈表倒置,倒置後的單鏈表的第n個節點就是倒置前的單鏈表的倒數第n個節點,這樣就能通過遍歷獲得倒數第n個節點了。

Lintcode 鍊錶倒數第n個節點

找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。給出鍊錶 3 2 1 5 null和n 2,返回倒數第二個節點的值1.思路 計算單鏈表長度length,然後遍歷單鏈表找出第 length n 1 個結點 耗時 54ms listnode nthtolast listnode head,int...

lintcode鍊錶倒數第n個節點

鍊錶倒數第n個節點 找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。您在真實的面試中是否遇到過這個題?yes 樣例給出鍊錶3 2 1 5 null 和n 2,返回倒數第二個節點的值1.標籤 分析 本題方法是遍歷一遍算出有多少個節點,然後減去要求的倒數數字,再次遍歷。應該還可以採用下標的辦法,...

鍊錶倒數第n個數

問題描述 找到鍊錶中的倒數第n個結點,返回它的值 如給定3 2 1 5 null和2,返回1。解題思路 設定兩個指標,先讓第乙個指標跑到指定的位置,此時第二個指標和第乙個指標一起跑,跑的快的指標到達null時,另乙個指標就指向要找的結點了。實現 class solution if head next...