234 回文鍊錶 面試題 02 06 回文鍊錶

2021-10-24 12:20:54 字數 760 閱讀 6825

難度:簡單

請判斷乙個鍊錶是否為回文鍊錶。

示例 1:

輸入:1->2輸出:false
示例 2:

輸入:1->2->2->1輸出:true
高階:你能否用 o(n) 時間複雜度和 o(1) 空間複雜度解決此題?

分析:

①用快慢指標找到中間節點

②反轉後半截鍊錶,然後前後半截鍊錶比較元素大小

**:

/**

* definition for singly-linked list.

* public class listnode

* }*/class solution

return res;

}private listnode reverselist(listnode head)

return pre;

}private listnode findhalfpoint(listnode head)

return slow;}}

結果:

面試題 02 06 回文鍊錶

編寫乙個函式,檢查輸入的鍊錶是否是回文的。示例 1 輸入 1 2輸出 false高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?思路 因為要求空間複雜度o 1 所以需要找出鍊錶終點,用乙個快指標和乙個慢指標,快指標每次跑2步,慢指標每次跑1步,遍歷的時候順便把前半部分鍊錶顛倒。最後...

面試題 02 06 回文鍊錶

1.普通版 把鍊錶的每個值儲存在陣列中,然後從鍊錶兩端向中間挨個對比,如果有不等的,就返回false。definition for singly linked list.struct listnode bool ispalindrome struct listnode head 普通版 int le...

面試題 02 06 回文鍊錶

難度簡單54收藏分享切換為英文接收動態反饋 編寫乙個函式,檢查輸入的鍊錶是否是回文的。示例 1 輸入 1 2 輸出 false示例 2 輸入 1 2 2 1 輸出 true採用反轉鍊錶 class solution 如果fast不為空,說明鍊錶的長度是奇數個 if fast null 反轉後半部分鍊...