找出單鏈表的倒數第k個元素

2021-07-16 16:19:26 字數 478 閱讀 4177

一、思路:有兩個指標分別向linklist,它們分別是 low,height;先是height先向前移動k個位置,然後low和height一起向前移動,一直到height到達鍊錶的末尾,這是low所指的位置就是倒是第k個元素,考慮到的邊界值有k<1或者k>linklist的長度的時候或者linklist為空的時候。

二、**:

publiclinklist knum(linklist list,intk)

low=low.next;

height=height.next;

}if(numreturn null;

elsereturnlow;

}

如何找出單鏈表中的倒數第k個元素

如何找出單鏈表中的倒數第k個元素 1 方法1 首先遍歷一遍單鏈表,求出整個單鏈表的長度n,然後將倒數第k個,轉換為正數第n k個,接下去遍歷一次就可以得到結果。但該演算法需要對鍊錶進行兩次遍歷,第一次遍歷用於求解單鏈表的長度,第二次遍歷用於查詢正數第n k個元素。2 方法2 如果沿著從頭到尾的方向,...

單鏈表輸出倒數第k個元素

這個演算法已經有不少人寫過了,但是為了考研後期複習還是在此記錄一下自己的心得。方法有如下幾種 1 遍歷單鏈表兩次,第一次獲取鍊錶總長度,第二次尋找倒數第k個元素就很簡單了。但是該方法需要遍歷兩次鍊錶。2 遍歷單鏈表並記錄長度,將每個元素存入順序表中,然後通過下標獲取倒數第k個元素。該方法只需遍歷一次...

如何尋找單鏈表倒數第K個元素

如下是乙個帶頭結點的單鏈表結構 typedef struct node node typedef struct linklist linklist 假設單鏈表中有n個元素,尋找倒數第k個元素,也就是尋找單鏈表中正數的第n k個元素,但是這個n是未知的。首先我們定義乙個結點的結構體指標 p讓其指向頭結...