题目简介:
请判断一个链表是否为回文链表。
示例 1:
1 | 输入: 1->2 |
示例 2:
1 | 输入: 1->2->2->1 |
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?
思路:
- 找到中间结点(若长度为奇数,则返回第
n/2 + 1
个结点;若长度为偶数,则返回第n/2
个结点) - 切断前后两半,将后一半逆转
- 前后链表逐个进行比较,若最后前一半链表剩下的结点数不超过1,则说明为回文链表
代码如下:
1 | /** |
请判断一个链表是否为回文链表。
示例 1:
1 | 输入: 1->2 |
示例 2:
1 | 输入: 1->2->2->1 |
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?
n/2 + 1
个结点;若长度为偶数,则返回第n/2
个结点)1 | /** |
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: true tags: true