Skip to content

Commit 4889d3f

Browse files
committedMay 15, 2024·
add jz_offer_27
1 parent 3f967ac commit 4889d3f

File tree

9 files changed

+96
-7
lines changed

9 files changed

+96
-7
lines changed
 

‎src/.vuepress/sidebar.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,7 @@ export default sidebar({
454454
text: "剑指 Offer II",
455455
collapsible: true,
456456
children: [
457+
"jz_offer_II_027",
457458
"jz_offer_II_031",
458459
"jz_offer_II_101"
459460
],

‎src/leetcode/outline/plan/offer2_list.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ title: "剑指 Offer II 题解"
3232
| 剑指 Offer II 024 | [反转链表](https://leetcode.cn/problems/UHnkqh/) | | [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) | <font color=#15bd66>Esay</font> |
3333
| 剑指 Offer II 025 | [链表中的两数相加](https://leetcode.cn/problems/lMSNwu/) | | [``](/leetcode/outline/tag/stack.md) [`链表`](/leetcode/outline/tag/linked-list.md) [`数学`](/leetcode/outline/tag/mathematics.md) | <font color=#ffb800>Medium</font> |
3434
| 剑指 Offer II 026 | [重排链表](https://leetcode.cn/problems/LGjMqU/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |
35-
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
35+
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_027) | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
3636
| 剑指 Offer II 028 | [展平多级双向链表](https://leetcode.cn/problems/Qv1Da2/) | | [`深度优先搜索`](/leetcode/outline/tag/depth-first-search.md) [`链表`](/leetcode/outline/tag/linked-list.md) [`双向链表`](/leetcode/outline/tag/doubly-linked-list.md) | <font color=#ffb800>Medium</font> |
3737
| 剑指 Offer II 029 | [排序的循环链表](https://leetcode.cn/problems/4ueAj6/) | | [`链表`](/leetcode/outline/tag/linked-list.md) | <font color=#ffb800>Medium</font> |
3838
| 剑指 Offer II 030 | [插入、删除和随机访问都是 O(1) 的容器](https://leetcode.cn/problems/FortPu/) | | [`设计`](/leetcode/outline/tag/design.md) [`数组`](/leetcode/outline/tag/array.md) [`哈希表`](/leetcode/outline/tag/hash-table.md) `2+` | <font color=#ffb800>Medium</font> |

‎src/leetcode/outline/solution_list.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 1.3 LeetCode 题解
22

3-
已完成 304
3+
已完成 305
44

55
| 题号 | 标题 | 题解 | 标签 | 难度 |
66
| :------: | :------ | :------: | :------ | :------ |
@@ -305,6 +305,7 @@
305305
| 剑指 Offer 58 - I | [翻转单词顺序](https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_58_1) | [`双指针`](/leetcode/outline/tag/two-pointers.md) [`字符串`](/leetcode/outline/tag/string.md) | <font color=#15bd66>Esay</font> |
306306
| 剑指 Offer 61 | [扑克牌中的顺子](https://leetcode.cn/problems/bu-ke-pai-zhong-de-shun-zi-lcof/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_61_1) | [`数组`](/leetcode/outline/tag/array.md) [`排序`](/leetcode/outline/tag/sorting.md) | <font color=#15bd66>Esay</font> |
307307
| 剑指 Offer 63 | [股票的最大利润](https://leetcode.cn/problems/gu-piao-de-zui-da-li-run-lcof/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_63_1) | [`数组`](/leetcode/outline/tag/array.md) [`动态规划`](/leetcode/outline/tag/dynamic-programming.md) | <font color=#ffb800>Medium</font> |
308+
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_027) | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
308309
| 剑指 Offer II 031 | [最近最少使用缓存](https://leetcode.cn/problems/OrIXps/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_031) | [`设计`](/leetcode/outline/tag/design.md) [`哈希表`](/leetcode/outline/tag/hash-table.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |
309310
| 剑指 Offer II 101 | [分割等和子集](https://leetcode.cn/problems/NUPfPr/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_101) | [`数学`](/leetcode/outline/tag/mathematics.md) [`字符串`](/leetcode/outline/tag/string.md) [`模拟`](/leetcode/outline/tag/simulation.md) | <font color=#15bd66>Esay</font> |
310311
| 面试题 16.25 | [LRU 缓存](https://leetcode.cn/problems/lru-cache-lcci/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/i_16.25) | [`设计`](/leetcode/outline/tag/design.md) [`哈希表`](/leetcode/outline/tag/hash-table.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |

‎src/leetcode/outline/tag/linked-list.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@
104104
| 剑指 Offer II 024 | [反转链表](https://leetcode.cn/problems/UHnkqh/) | | [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) | <font color=#15bd66>Esay</font> |
105105
| 剑指 Offer II 025 | [链表中的两数相加](https://leetcode.cn/problems/lMSNwu/) | | [``](/leetcode/outline/tag/stack.md) [`链表`](/leetcode/outline/tag/linked-list.md) [`数学`](/leetcode/outline/tag/mathematics.md) | <font color=#ffb800>Medium</font> |
106106
| 剑指 Offer II 026 | [重排链表](https://leetcode.cn/problems/LGjMqU/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |
107-
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
107+
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_027) | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
108108
| 剑指 Offer II 028 | [展平多级双向链表](https://leetcode.cn/problems/Qv1Da2/) | | [`深度优先搜索`](/leetcode/outline/tag/depth-first-search.md) [`链表`](/leetcode/outline/tag/linked-list.md) [`双向链表`](/leetcode/outline/tag/doubly-linked-list.md) | <font color=#ffb800>Medium</font> |
109109
| 剑指 Offer II 029 | [排序的循环链表](https://leetcode.cn/problems/4ueAj6/) | | [`链表`](/leetcode/outline/tag/linked-list.md) | <font color=#ffb800>Medium</font> |
110110
| 剑指 Offer II 031 | [最近最少使用缓存](https://leetcode.cn/problems/OrIXps/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_031) | [`设计`](/leetcode/outline/tag/design.md) [`哈希表`](/leetcode/outline/tag/hash-table.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |

‎src/leetcode/outline/tag/recursion.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
| 剑指 Offer 64 | [求1+2+…+n](https://leetcode.cn/problems/qiu-12n-lcof/) | | [`位运算`](/leetcode/outline/tag/bit-manipulation.md) [`递归`](/leetcode/outline/tag/recursion.md) [`脑筋急转弯`](/leetcode/outline/tag/brain-teasers.md) | <font color=#ffb800>Medium</font> |
8080
| 剑指 Offer II 024 | [反转链表](https://leetcode.cn/problems/UHnkqh/) | | [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) | <font color=#15bd66>Esay</font> |
8181
| 剑指 Offer II 026 | [重排链表](https://leetcode.cn/problems/LGjMqU/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |
82-
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
82+
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_027) | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
8383
| 面试题 02.05 | [链表求和](https://leetcode.cn/problems/sum-lists-lcci/) | | [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) [`数学`](/leetcode/outline/tag/mathematics.md) | <font color=#ffb800>Medium</font> |
8484
| 面试题 02.06 | [回文链表](https://leetcode.cn/problems/palindrome-linked-list-lcci/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
8585
| 面试题 08.05 | [递归乘法](https://leetcode.cn/problems/recursive-mulitply-lcci/) | | [`位运算`](/leetcode/outline/tag/bit-manipulation.md) [`递归`](/leetcode/outline/tag/recursion.md) [`数学`](/leetcode/outline/tag/mathematics.md) | <font color=#ffb800>Medium</font> |

‎src/leetcode/outline/tag/stack.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@
171171
| 剑指 Offer 36 | [二叉搜索树与双向链表](https://leetcode.cn/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_36_1) | [``](/leetcode/outline/tag/stack.md) [``](/leetcode/outline/tag/tree.md) [`深度优先搜索`](/leetcode/outline/tag/depth-first-search.md) `4+` | <font color=#ffb800>Medium</font> |
172172
| 剑指 Offer II 025 | [链表中的两数相加](https://leetcode.cn/problems/lMSNwu/) | | [``](/leetcode/outline/tag/stack.md) [`链表`](/leetcode/outline/tag/linked-list.md) [`数学`](/leetcode/outline/tag/mathematics.md) | <font color=#ffb800>Medium</font> |
173173
| 剑指 Offer II 026 | [重排链表](https://leetcode.cn/problems/LGjMqU/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |
174-
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
174+
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_027) | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
175175
| 剑指 Offer II 036 | [后缀表达式](https://leetcode.cn/problems/8Zf90G/) | | [``](/leetcode/outline/tag/stack.md) [`数组`](/leetcode/outline/tag/array.md) [`数学`](/leetcode/outline/tag/mathematics.md) | <font color=#ffb800>Medium</font> |
176176
| 剑指 Offer II 037 | [小行星碰撞](https://leetcode.cn/problems/XagZNi/) | | [``](/leetcode/outline/tag/stack.md) [`数组`](/leetcode/outline/tag/array.md) [`模拟`](/leetcode/outline/tag/simulation.md) | <font color=#ffb800>Medium</font> |
177177
| 剑指 Offer II 038 | [每日温度](https://leetcode.cn/problems/iIQa4I/) | | [``](/leetcode/outline/tag/stack.md) [`数组`](/leetcode/outline/tag/array.md) [`单调栈`](/leetcode/outline/tag/monotonic-stack.md) | <font color=#ffb800>Medium</font> |

‎src/leetcode/outline/tag/two-pointers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@
210210
| 剑指 Offer II 022 | [链表中环的入口节点](https://leetcode.cn/problems/c32eOV/) | | [`哈希表`](/leetcode/outline/tag/hash-table.md) [`链表`](/leetcode/outline/tag/linked-list.md) [`双指针`](/leetcode/outline/tag/two-pointers.md) | <font color=#ffb800>Medium</font> |
211211
| 剑指 Offer II 023 | [两个链表的第一个重合节点](https://leetcode.cn/problems/3u1WK4/) | | [`哈希表`](/leetcode/outline/tag/hash-table.md) [`链表`](/leetcode/outline/tag/linked-list.md) [`双指针`](/leetcode/outline/tag/two-pointers.md) | <font color=#15bd66>Esay</font> |
212212
| 剑指 Offer II 026 | [重排链表](https://leetcode.cn/problems/LGjMqU/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |
213-
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
213+
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_027) | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
214214
| 剑指 Offer II 056 | [二叉搜索树中两个节点之和](https://leetcode.cn/problems/opLdQZ/) | | [``](/leetcode/outline/tag/tree.md) [`深度优先搜索`](/leetcode/outline/tag/depth-first-search.md) [`广度优先搜索`](/leetcode/outline/tag/breadth-first-search.md) `4+` | <font color=#15bd66>Esay</font> |
215215
| 剑指 Offer II 077 | [链表排序](https://leetcode.cn/problems/7WHec2/) | | [`链表`](/leetcode/outline/tag/linked-list.md) [`双指针`](/leetcode/outline/tag/two-pointers.md) [`分治`](/leetcode/outline/tag/divide-and-conquer.md) `2+` | <font color=#ffb800>Medium</font> |
216216
| 面试题 01.05 | [一次编辑](https://leetcode.cn/problems/one-away-lcci/) | | [`双指针`](/leetcode/outline/tag/two-pointers.md) [`字符串`](/leetcode/outline/tag/string.md) | <font color=#ffb800>Medium</font> |

‎src/leetcode/problem/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 第四章 LeetCode 题解
22

3-
已完成 304
3+
已完成 305
44

55
| 题号 | 标题 | 题解 | 标签 | 难度 |
66
| :------: | :------ | :------: | :------ | :------ |
@@ -305,6 +305,7 @@
305305
| 剑指 Offer 58 - I | [翻转单词顺序](https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_58_1) | [`双指针`](/leetcode/outline/tag/two-pointers.md) [`字符串`](/leetcode/outline/tag/string.md) | <font color=#15bd66>Esay</font> |
306306
| 剑指 Offer 61 | [扑克牌中的顺子](https://leetcode.cn/problems/bu-ke-pai-zhong-de-shun-zi-lcof/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_61_1) | [`数组`](/leetcode/outline/tag/array.md) [`排序`](/leetcode/outline/tag/sorting.md) | <font color=#15bd66>Esay</font> |
307307
| 剑指 Offer 63 | [股票的最大利润](https://leetcode.cn/problems/gu-piao-de-zui-da-li-run-lcof/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_63_1) | [`数组`](/leetcode/outline/tag/array.md) [`动态规划`](/leetcode/outline/tag/dynamic-programming.md) | <font color=#ffb800>Medium</font> |
308+
| 剑指 Offer II 027 | [回文链表](https://leetcode.cn/problems/aMhZSa/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_027) | [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#15bd66>Esay</font> |
308309
| 剑指 Offer II 031 | [最近最少使用缓存](https://leetcode.cn/problems/OrIXps/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_031) | [`设计`](/leetcode/outline/tag/design.md) [`哈希表`](/leetcode/outline/tag/hash-table.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |
309310
| 剑指 Offer II 101 | [分割等和子集](https://leetcode.cn/problems/NUPfPr/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/jz_offer_II_101) | [`数学`](/leetcode/outline/tag/mathematics.md) [`字符串`](/leetcode/outline/tag/string.md) [`模拟`](/leetcode/outline/tag/simulation.md) | <font color=#15bd66>Esay</font> |
310311
| 面试题 16.25 | [LRU 缓存](https://leetcode.cn/problems/lru-cache-lcci/) | [JS](https://2xiao.github.io/leetcode-js/leetcode/problem/i_16.25) | [`设计`](/leetcode/outline/tag/design.md) [`哈希表`](/leetcode/outline/tag/hash-table.md) [`链表`](/leetcode/outline/tag/linked-list.md) `1+` | <font color=#ffb800>Medium</font> |
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# [剑指 Offer II 27. 回文链表](https://leetcode.cn/problems/aMhZSa/)
2+
3+
🟢 <font color=#15bd66>Esay</font>&emsp; 🔖&ensp; [``](/leetcode/outline/tag/stack.md) [`递归`](/leetcode/outline/tag/recursion.md) [`链表`](/leetcode/outline/tag/linked-list.md) [`双指针`](/leetcode/outline/tag/two-pointers.md)&emsp; 🔗&ensp;[`LeetCode`](https://leetcode.cn/problems/aMhZSa/)
4+
5+
## 题目
6+
7+
给定一个链表的 **头节点** `head` ,请判断其是否为回文链表。
8+
9+
如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。
10+
11+
**示例 1:**
12+
13+
> 输入: head = [1,2,3,3,2,1]
14+
>
15+
> 输出: true
16+
17+
**示例 2:**
18+
19+
> 输入: head = [1,2]
20+
>
21+
> 输出: false
22+
23+
**提示:**
24+
25+
- 链表 L 的长度范围为 `[1, 10^5]`
26+
- `0 <= node.val <= 9`
27+
28+
**进阶:**
29+
30+
能否用 `O(n)` 时间复杂度和 `O(1)` 空间复杂度解决此题?
31+
32+
::: warning
33+
34+
本题与 LeetCode [第 234 题](./0234.md) 相同。
35+
36+
:::
37+
38+
## 解题思路
39+
40+
这道题只需要在 [第 143 题](./0143.md) 上面改改就可以了,思路是完全一致的。
41+
42+
- 先找到中间结点,然后反转中间结点后面到结尾的所有结点;
43+
- 最后依次判断头结点开始的结点和中间结点往后开始的结点是否相等;
44+
- 如果一直相等,就是回文链表,如果有不相等的,直接返回不是回文链表。
45+
46+
## 代码
47+
48+
```javascript
49+
/**
50+
* @param {ListNode} head
51+
* @return {boolean}
52+
*/
53+
var isPalindrome = function (head) {
54+
if (!head || !head.next) return true;
55+
56+
// 找到中点
57+
let slow = head;
58+
let fast = head;
59+
while (fast.next && fast.next.next) {
60+
slow = slow.next;
61+
fast = fast.next.next;
62+
}
63+
64+
// 从中间开始反转链表
65+
const middle = slow;
66+
let cur = middle.next;
67+
while (cur.next) {
68+
let temp = cur.next;
69+
cur.next = temp.next;
70+
temp.next = middle.next;
71+
middle.next = temp;
72+
}
73+
74+
slow = head;
75+
fast = middle.next;
76+
while (fast) {
77+
if (slow.val == fast.val) {
78+
slow = slow.next;
79+
fast = fast.next;
80+
} else {
81+
return false;
82+
}
83+
}
84+
return true;
85+
};
86+
```

0 commit comments

Comments
 (0)
Please sign in to comment.