基礎演算法(一)判斷一條單向鍊錶是否有環

2021-10-19 17:46:28 字數 466 閱讀 6297

思路就是:定義兩個指標,乙個快指標(一次走兩步),乙個慢指標(一次走一步),倘若這個鍊錶是有環鏈表,那麼它們終究會相遇。

#include

bool hascycle

(struct listnode* head )

struct listnode* fast = head;

struct listnode* slow = head;

//判斷這個鍊錶是否有環鏈表,如果其中有乙個結點指向了null,那它就不是有環鏈表

while

((fast !=

null)&&

(fast->next !=

null))

return false;

}

判斷一條單向鍊錶是不是 回文

題目 判斷一條單向鍊錶是不是 回文 思路一 採用快慢指標,慢指標入棧,當快指標為null時,出棧和慢指標比較即可。時間複雜度o n 空間複雜度o n 優點 比較好實現,且沒有修改鍊錶 缺點 需要分配記憶體 include include include typedef int elem typede...

判斷上一條命令是否成功

只判斷最後一條命令,指令碼中前面命令錯誤的話,最後一條命令對的話就會返回0 1 執行完上一條命令直接判斷是否成功 22 03 37 root localhost grep q alex1 etc passwd 22 03 39 root localhost echo 1 2 通過判斷是否為0,是0則...

判斷單向鍊錶是否含有環形鍊錶

給定乙個鍊錶,判斷鍊錶中是否有環。分析 使用雙指標,乙個一次走一步,乙個一次走兩步,當兩者都進入環時,快指標比慢指標始終快一步,所以在有環的情況下兩者肯定會相遇。另外需要特別注意fast最開始不能初始化head應該為head.next不然進去迴圈就全判斷為true。definition for si...