Lintcode 166 鍊錶倒數第n個節點

2022-02-06 13:33:58 字數 627 閱讀 2522

最開始的想法是先計算出鍊錶的長度length,然後再從頭走 length-n 步即是需要的位置了。

ac**:

/**

* definition for listnode.

* public class listnode

* } */

public

class

solution

for(int i=length-n;i>0;i--)

return

head;}}

然後神奇的快慢指標出場打臉了...

兩個指標間距n(慢指標+n=快指標),當快指標到達尾部的時候慢指標所處的位置就是我們需要的啦。

ac**:

/**

* definition for listnode.

* public class listnode

* } */

public

class

solution

return

slow;}}

LintCode 166 鍊錶倒數第n個節點

找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。樣例 給出鍊錶3 2 1 5 null 和n 2,返回倒數第二個節點的值1.一種是先遍歷一遍單鏈表,計算鍊錶的長度,然後再次遍歷,直到到達節點數減去n的節點,返回結果。實際情況中若鍊錶數目很多而n相對不大,這種方法需要大約兩次遍歷。更簡單的是採...

166 鍊錶倒數第n個結點

原題 您在真實的面試中是否遇到過這個題?是 標籤鍊錶 cracking the coding interview 思路 首先應該清楚,若鍊錶一共有t個結點,則正數第n個結點即倒數第t 1 n個結點。反過來也一樣,倒數第n個結點是正數第t 1 n個結點。明白這點後可以使用兩根指標cur pre來操作。...

Lintcode 鍊錶倒數第n個節點

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