leetcode234 回文鍊錶

2021-09-26 20:33:27 字數 485 閱讀 7305

bool

ispalindrome

(listnode* head)

//slow指標為鍊錶中點

//反轉後半部分鍊錶

listnode* curr = slow,

*back =

null

,*after =

null

;while

(curr)

//前一半鍊錶和後一半鍊錶相對比

listnode* front = head,

*out = back;

while

(front && out)

return

true

;}

時間複雜度o(n

)o(n)

o(n)

,只需要有限次的迴圈

空間複雜度o(1

)o(1)

o(1)

,在原址上操作

LeetCode 234 回文鍊錶

請判斷乙個鍊錶是否為回文鍊錶。definition for singly linked list.struct listnode bool ispalindrome struct listnode head 示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 要...

leetcode 234 回文鍊錶

請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2輸出 false 示例 2 輸入 1 2 2 1輸出 true 解法1 使用棧 使用快慢指標找中點,原理是每次快指標走兩步,慢指標走一步,等快指標走完時,慢指標的位置就是中點。我們還需要用棧,每次慢指標走一步,都把值存入棧中,等到達中點時,鍊錶的前...

LeetCode 234 回文鍊錶

請判斷乙個鍊錶是否為回文鍊錶。解題思路 根據 o n 時間複雜度和 o 1 空間複雜度的要求,則不能使用堆疊。首先找到中間節點,然後反轉中間節點之後的節點,最後比較頭結點和中間節點之後元素的大小。bool solution ispalindrome listnode head 1.找到鍊錶的中間位置...