当前位置: 首页 > java >正文

力扣-234.回文链表

题目描述

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。

class Solution {
public:bool isPalindrome(ListNode* head) {//快慢指针找到中间结点p1(偶数个结点停在中左)ListNode* p1 = head;ListNode* p2 = head->next;if(p2==nullptr)return true;while (p2!=nullptr&&p2->next!= nullptr){p1=p1->next;p2=p2->next->next;}//后半段头插法逆置p2=p1->next;p1->next=nullptr;while (p2!= nullptr){ListNode* temp = p2;p2=p2->next;temp->next=p1->next;p1->next=temp;}//比较前半段与后半段是否重合p2=head;p1=p1->next;while (p1!= nullptr){if(p1->val!=p2->val)return false;p1=p1->next;p2=p2->next;}return true;}
};

小结: 这种做法思路比较清晰,而且可以满足O(n) 时间复杂度和 O(1) 空间复杂度

http://www.xdnf.cn/news/1842.html

相关文章:

  • Linux查看可用端口号码命令
  • SIEMENS PLC程序解读 ST 语言 车型识别
  • PHP框架在微服务迁移中能发挥什么作用?
  • 【C/C++】从源码到执行:程序运行的完整生命周期解析
  • 神奇PG SQL数据库,配合简单代码就能巧妙实现复杂的功能
  • 专家系统的知识获取、检测与组织管理——基于《人工智能原理与方法》的深度解析
  • 别学了,打会王者吧
  • tcp 和http 网络知识
  • 七、web自动化测试03
  • 大模型时代的深度学习框架
  • C语言里位操作的应用
  • 前端让一个div的高度为屏幕的高度减去其他所有元素的高度(包括它们的margin和padding),并自适应。
  • Python笔记:VS2013编译Python-3.5.10
  • 芯岭技术XL32F003单片机 32位Cortex M0+ MCU简单介绍 性能优异
  • 面向智能家居安全的异常行为识别与应急联动关键技术研究与系统实现(源码+论文+部署讲解等)
  • 软考【网络工程师】2023年5月上午题答案解析
  • dedecms织梦arclist标签noflag属性过滤多个参数
  • 2025年GPLT团体程序设计天梯赛L1-L2
  • RPCRT4!NdrPointerUnmarshall函数之ADVAPI32!LsarQueryInformationPolicy函数调用的一个例子
  • 【ESP32-IDF笔记】20-配置以太网网络(W5500)
  • 杂项知识点
  • 基于python代码的通过爬虫方式实现快手发布视频(2025年4月)
  • 模式识别的局限和确认偏误消除偏见
  • LeetCode 每日一题 2799. 统计完全子数组的数目
  • 项目笔记2:post请求是什么,还有什么请求
  • Uni-App 多端电子合同开源项目介绍
  • 单精度浮点运算/定点运算下 MATLAB (VS) VIVADO
  • Excalidraw工具分享
  • 速成GO访问sql,个人笔记
  • CodeMeter Runtime 安装失败排查与解决指南