请判断一个链表是否为回文链表。

示例 1:

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

输入: 1->2->2->1
输出: true
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

思路:由于空间复杂度为O(1),那么只能先找到中间节点,然后原地反转后半节点,再依次从头比较了,设计到查找链表中间节点,原地翻转链表等知识,前面的题都有涉及了,很好的综合题目。

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:bool isPalindrome(ListNode* head) {if(head==NULL)return true;ListNode* slow = head;ListNode* fast = head;while(fast->next!=NULL && fast->next->next!=NULL){slow = slow->next;fast = fast->next->next;}ListNode* pre = NULL;ListNode* cur = slow->next;while(cur!=NULL){ListNode* temp = cur->next;cur->next = pre;pre = cur;cur = temp;}while(pre!=NULL){if(head->val==pre->val){head = head->next;pre = pre->next;}else{return false;}}return true;}
};

回文链表—leetcode234相关推荐

  1. leetcode234 回文链表

    请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复 ...

  2. LeetCode-234. 回文链表(C语言)

    数据结构复习到了链表,顺便也把这个题解了 leet上最快的解题是把链表的内容复制到数组,然后从数组两端比较 我的解法只使用了链表,所以会慢于数组解法 思路: 使用快慢指针来确定链表的中间位置,慢指针每 ...

  3. LeetCode234题:回文链表

    题目描述: 请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 思路分析: 迭代法: ...

  4. LeetCode每日一题:回文链表(No.234)

    题目:回文链表 请判断一个链表是否为回文链表. 复制代码 示例: 输入: 1->2 输出: false输入: 1->2->2->1 输出: true 复制代码 思考: 先用快慢 ...

  5. 链表-回文链表(复制+双指针法)

    题意: 请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 思路: 这里如果是数组列表 ...

  6. 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 剑指Offer(三):从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每 ...

  7. python回文链表_leetcode链表之回文链表

    序 本文主要记录一下leetcode链表之回文链表 题目 请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2-> ...

  8. 判断字符串_python实现--判断回文字符串、回文链表、回文数

    所谓回文字符串,就是正读和反读都一样的字符串,比如"level"或者"noon"等等就是回文串.即是对称结构Python系列教程,免费获取,遇到bug及时反馈, ...

  9. 34. Leetcode 234. 回文链表 (链表-双指针)

    给你一个单链表的头节点 head ,请你判断该链表是否为回文链表.如果是,返回 true :否则,返回 false .示例 1:输入:head = [1,2,2,1] 输出:true 示例 2:输入: ...

最新文章

  1. Java基础学习总结(3)——抽象类
  2. Mylyn 2.0,第 2 部分: 自动上下文管理
  3. C++继承中父类和子类之间的同名覆盖
  4. 解决ARC下performselector-may-cause-a-leak-because-its-selector-is-unknown 警告
  5. WSGI、uwsgi和uWSGI
  6. 微信小程序页面跳转、逻辑层模块化
  7. 唐山师范学院计算机二级报名,2017年3月唐山师范学院计算机等级考试报名时间(河北)...
  8. 20190423面试记录
  9. 基于PyTorch的CV框架,北大学生出品TorchCV
  10. Unity实现IOS原生分享
  11. ASP.NET MVC4中的异步控制器
  12. JUnit的优点在于什么地方?和main方法有什么不同?
  13. CakePHP 2.x CookBook 中文版 第七章 模型 之 数据校验
  14. C语言程序设计如何输入两行,求c语言高手编一个程序,题目要求如下: 输入有多组数据。 每组数据两行。 第一行包含一个正整数n(...
  15. 三维地图前端js api对比分析
  16. web服务器硬件软件配置选择
  17. 美联储历次加息周期及结果
  18. 弹力弹珠java_利用java编写一个弹球小游戏
  19. AW笔记本升级SSD,外接双屏中的一些注意事项
  20. 寻找运营商电商化运营突破口的九个策谋

热门文章

  1. 【转载】C#中List集合使用Exists方法判断是否存在符合条件的元素对象
  2. [BZOJ3932][CQOI2015]任务查询系统(差分+主席树)
  3. 洛谷P2055 [ZJOI2009]假期的宿舍 题解
  4. 【转载】android权限大全
  5. 如何扩展 Azure 资源组中虚拟机的 OS 驱动器
  6. Spring @ControllerAdvice @ExceptionHandler
  7. UI   控件 —UITextFile
  8. 判断字典中指定key是否存在
  9. Apache 创建虚拟主机目录和设置默认访问页面
  10. xss_url通关_1-10