141 環形鍊錶(C語言)簡單題

2021-10-02 10:43:51 字數 711 閱讀 6077

一、雜湊方法

雜湊方法,雜湊計算寫得一般,沒有找到合適的雜湊值計算方法。非常浪費空間。

bool hascycle(struct listnode *head) ;

while(p)

return false;

}

142 環形鍊錶 ii

struct listnode *detectcycle(struct listnode *head) ;

while(p)

return null;

}

二、快慢指標 

1.  p!=q

2. *q!=*p

對於while(p!=q)這一句,開始有些迷惑,錯誤的寫成*q!=*p。

p!=q形式已經是在比較p和q變數裡儲存的內容,也就是節點的位址,不需要加*。加*,也就是*q!=*p形式,是取了節點的內容,也就是val或者*next。

如:int* a, * b;

int x = 5, y = 6;

a = &x; b = &y;

if (a != b)printf("%d  %d  %d  %d  ", a, b, *a, *b);

bool hascycle(struct listnode *head) 

return true;

}

141 環形鍊錶

給定乙個鍊錶,判斷鍊錶中是否有環。高階 你能否不使用額外空間解決此題?乙個快指標走兩步 乙個慢指標走一步 如果相遇就有環 不然沒環 class solution def hascycle self,head type head listnode rtype bool index1 head inde...

141 環形鍊錶

鏈結 給定乙個鍊錶,判斷鍊錶中是否有環。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。示例1輸入 head 3,2,0,4 pos 1 輸出 true 解釋 鍊錶中有乙個環,其尾部連線到第二個節點。示例2 輸...

141 環形鍊錶

給定乙個鍊錶,判斷鍊錶中是否有環。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。示例 1 輸入 head 3,2,0,4 pos 1 輸出 true 解釋 鍊錶中有乙個環,其尾部連線到第二個節點。1.首先想到...