資料結構系列之如何查詢單鏈表中倒數第N個節點

2021-09-29 02:51:58 字數 623 閱讀 5338

給定乙個單鏈表,查詢鍊錶中倒數第n個節點。

示例:

給定乙個鍊錶:1->2->3->4->5,和 n=2

先遍歷一遍鍊錶,確定鍊錶中節點的個數l。然後再遍歷一遍鍊錶,從前往後第(l-n+1)個節點就是倒數第n個節點。

public listnode nthtolast

(listnode head,

int n)

first = head;

for(

int i =

0; i < length-n+

1; i++

)return first;

}

設定兩個指標,第乙個指標從頭結點向前走到第n-1個節點時,第二個指標開始從頭結點出發。當第乙個指標走到尾結點時,第二個指標的位置即為倒數第n個節點。

public listnode nthtolast

(listnode head,

int n)

//第二個指標開始遍歷

while

(first.next != null)

return second;

}

資料結構之單鏈表

date 08 07 06 descript 單鏈表的實現與應用 public class linlist public node gethead 定位函式 public void index int i throws exception if i 1 current head.next int j...

資料結構之單鏈表

鍊錶 儲存結構的一種,包含兩個部分,資料域和指標域,相對於順序儲存結構來說,插入和刪除的演算法時間複雜度只為o 1 定義 定義 typedef struct node linklist linklist,指標指向每乙個元素 typedef struct nodenode 以下為簡單的c語言實現 in...

資料結構之單鏈表

由於順序表再插入或者刪除時需要移動大量資料,並且如果表比較大,會比較難分配連續的儲存空間導致儲存資料失敗。因此可以採用鍊錶結構,鍊錶結構是一種動態儲存分配的結構形式,可以根據需要動態的申請所需的儲存單元。鍊錶又分為單鏈表,雙向鍊錶,以及單迴圈鍊錶,多重鏈的迴圈鍊錶。本文先介紹單鏈表。典型的單鏈表結構...