题目简介:
请判断一个链表是否为回文链表。
示例 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