如何在一次遍歷中找到單個鍊錶的中值

2021-09-26 14:21:33 字數 366 閱讀 3734

我的想法記錄:

如果這個鍊錶本身是有序的就好辦了,直接取到 len/2 就得到中值(不對單鏈表不能隨機訪問,要想求表長,得從第乙個結點開始順序依次訪問表中每乙個結點,然後計數,直到訪問到空結點為止)

可是題目中沒有說這個單鏈表是有序的誒

遍歷一次,可以找到max 或者 min 

怎麼一次就找到中值呢?

還有就是關於題目的疑問,這個「中值」是指位置在中間,還是大小值處於中間呀?

應該是位置在中間的值吧

一次遍歷單向鍊錶找到中間結點

1)設定2個指標,乙個走2步時,另乙個走1步;

2)那麼乙個走到頭時,另乙個走到中間。

(這個方法真是妙呀!)

鍊錶3 一次遍歷找到中間節點

一次遍歷就能夠找到中間節點,怎樣實現的呢?讓我們直奔主題 思想 首先經過兩次遍歷可以找到中間的節點,這個是毋庸置疑的,第一次檢視個數,第二次直接找出來了。但是我今天要記錄的就是怎樣通過一次的遍歷,就把中間的節點給找到!其實,我們可以這樣 定義兩個指標變數,當然是相應的結構體型別的啊,在判斷多餘兩個節...

一次遍歷解決鍊錶刪元問題

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?使用兩個指標,他們的間隔剛好是n,使得當前乙個指標劃出鍊錶時,後...

在其他數都出現k次的陣列中找到只出現一次的數

這一類問題可以統稱為single num的問題。主要涉及的知識是位運算。最初是在牛客網上碰到了k 2和k 3的題目,在左老師的書中看到了一般情況,這裡來總結一下。k 2時 public class solution res res a i 3 至於為什麼採用異或來求解這個問題,左老師在書中是這樣說的...