鍊錶的回文結構
題目描述
對於乙個鍊錶,請設計乙個時間複雜度為o(n),額外空間複雜度為o(1)的演算法,判斷其是否為回文結構。
給定乙個鍊錶的頭指標a,請返回乙個bool值,代表其是否為回文結構。保證鍊錶長度小於等於900。
測試樣例:
1->2->2->1
返回:true
解析:
首先建立乙個傀儡結點,將原鍊錶反轉
然後``對比兩個鍊錶,相應位置是否相同
public
class
palindromelist
listnode b =
newlistnode
(a.val)
; listnode b =
newlistnode(-
1); b.next = b;
listnode head = a.next;
while
(head != null)
b = b.next;
while
(b.next != null && a.next != null)
b = b.next;
a = a.next;
}return
true;}
}
牛客網 鍊錶的回文結構
對於乙個鍊錶,請設計乙個時間複雜度為o n 額外空間複雜度為o 1 的演算法,判斷其是否為回文結構。給定乙個鍊錶的頭指標a,請返回乙個bool值,代表其是否為回文結構。保證鍊錶長度小於等於900。測試樣例 先使用快慢指標法,設定兩個指標fast和slow,遍歷鍊錶,fast指標速度是slow指標的兩...
鍊錶回文結構
對於乙個鍊錶,請設計乙個時間複雜度為o n 額外空間複雜度為o 1 的演算法,判斷其是否為回文結構。給定乙個鍊錶的頭指標head,請返回乙個bool值,代表其是否為回文結構。思路 實現 public class palindromelist 此時slow位於鍊錶中間,開始反轉鍊錶slow後面的部分 ...
鍊錶回文結構
對於乙個鍊錶,請設計乙個時間複雜度為o n 額外空間複雜度為o 1 的演算法,判斷其是否為回文結構。給定乙個鍊錶的頭指標a,請返回乙個bool值,代表其是否為回文結構。保證鍊錶長度小於等於900。測試樣例 1 2 2 1返回 true解題思路 1 找到鍊錶的中點,2 翻轉後半部分的鍊錶節點 3 依次...