回文链表C++

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

时间复杂度较大的解法:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/// 通过快慢指针找到中间节点,然后以中间节点为起点翻转后半部分的节点// 比较前半部节点和后半部翻转后的节点是否相同
class Solution {
public:ListNode* reverseList(ListNode* head){ListNode* pre=nullptr;ListNode* cur=head;while(cur){ListNode* tmp = cur->next;cur->next = pre;pre = cur;cur=tmp;}return pre;}bool isPalindrome(ListNode* head) {if(head->next == nullptr) return true;// 找到中间节点ListNode* fast = head;ListNode* slow = head;// fast向前的速度是slow的2倍while(fast!=nullptr){fast = fast->next;if(fast!=nullptr){fast = fast->next;}slow = slow->next;}// 翻转链表ListNode* backlist = reverseList(slow);// 依次比较两链表while(backlist){if(head->val != backlist->val)return false;head= head->next;backlist=backlist->next;}return true;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/87810.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/87810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

限流系列之三:TDMQ for Apache Pulsar 限流技术深度解析

导语 在高速、高吞吐量的消息处理场景中,TDMQ Pulsar 版以其卓越的性能和可扩展性成为众多企业的首选。然而,随着生产者和消费者以极高的速度生产/消费大量消息,服务器资源如 CPU、内存、网络及磁盘 IO 等可能会面临饱和风险。为此&#xff…

非研发部门参与产品开发过程的价值体现

汉捷咨询 胡红卫 企业已经越来越意识到新产品开发项目需要市场、销售、制造、采购、服务、财务等非研发部门的参与,尝试建立跨部门的项目组,安排相关人员参与项目,但是效果如何呢?在汉捷咨询对很多企业调研诊断过程中,…

Kafka的存储与索引:数据处理的底层奥秘

一、引言 Kafka 之所以能在海量数据的传输和处理过程中保持高效的性能和低延迟,背后隐藏着众多精妙的设计,而其存储与索引机制便是其中的核心奥秘。接下来,让我们深入探寻 Kafka 存储机制的基石与架构。 二、分区与日志组织​ Kafka 中的消…

大模型与搜索引擎的技术博弈及未来智能范式演进

基于认知革命与技术替代的全景综述 一、大模型对搜索引擎的替代性分析:技术范式与市场重构 (1)技术原理的代际分野 传统搜索引擎遵循 "爬虫抓取 - 索引构建 - 关键词排序" 的三段式架构,其核心是基于 PageRank 算法的…

XC7K325T数据采集卡设计原理图:786-基于X86 CPU+XC7K325T的16路16bit 1M sps同步数据采集卡

基于X86 CPUXC7K325T的16路16bit 1M sps同步数据采集卡 一、板卡概述 板卡为紧凑型的X86FPGA的工业监测处理平台,高度集成的硬件和完整的labview开发软件,大大方便客户现场使用。 二、板卡功能 板卡功能 参数内容 X86 SOM核心板 主频 2.0GHz …

单片机3种按键程序消抖方法

1,查询法延时模式 u8 key01;u8 x0;KEY1;while(1){if(KEY0) //"按键按下"{delay(10); //延时10msif(KEY0 && kdy01) //按下有10ms 且上状态是1。即下降沿时{key00; //将上状态置0.防止按住不放时&#xff0…

【java面试】线程篇

【java面试】线程篇 一、基础知识1 线程与进程的区别2 并行与并发的区别3 创建线程的方式4 线程包含了哪些状态,状态之间是如何变化的?5 新建三个线程,如何保证他们按照顺序执行?6、java中的wait和sleep方法的不同7 如何停止一个正…

RAGFlow是一个基于深度文档理解的开源RAG引擎

RAGFlow概述 RAGFlow是一款基于深度文档理解的开源RAG(检索增强生成)引擎,专注于处理复杂文档结构并提供精准的语义检索与生成能力。其核心优势在于结合多模态文档解析和智能分段技术,优化传统RAG流程中的信息提取与答案生成效果…

Git Commit 模板完整配置指南

Git Commit 模板完整配置指南 📋 目录 Git Commit 模板完整配置指南 📋 目录🎯 为什么需要 Commit 模板📝 推荐的 Commit 模板 标准模板格式C 项目特化模板 ⚙️ 系统级配置 1. 创建模板文件2. 配置 Git 使用模板3. 验证配置 &a…

【ELK服务搭建】

Ubuntu 20.04环境下部署Elastic Stack 8.18日志系统完整指南 一、环境准备 系统要求 Ubuntu 20.04 LTS硬件配置:4核CPU / 8GB内存 / 100GB硬盘网络:需外网访问权限 1. 基础环境配置 首先安装SSH服务以便远程管理: # 更新软件源 apt u…

Mac电脑 Office 2024 LTSC 长期支持版(Excel、Word、PPT)

Office 2024 mac,是一款是一款专为苹果电脑用户设计的高性能、高安全性的办公套装 集成了Word、Excel、PowerPoint、Outlook等经典应用,为用户提供了一站式的办公解决方案。 不仅继承了Office系列一贯的卓越性能,还在功能性和用户体验上进行…

深入解析 Schema 在不同数据库中的百变面孔

在数据库的世界里,数据是核心资产,但如何高效、有序、安全地组织和理解这些数据?答案就是 Schema(模式或架构)。它如同建筑的图纸、乐队的乐谱,是数据库的设计蓝图和运行规则手册。今天,我们就来…

Python 数据分析与可视化 Day 2 - 数据清洗基础

🎯 今日目标 学会识别和处理缺失数据(NaN)学会删除/填补缺失值清理重复数据修改列类型,准备数据分析 🧼 一、缺失值处理(NaN) ✅ 1. 检查缺失值 import pandas as pd df pd.read_csv("…

3DS中文游戏全集下载 任天堂3DS简介3DS第一方独占游戏推荐

任天堂3DS 的详细介绍,涵盖其硬件特性、核心功能、游戏阵容及历史地位: 3DS游戏全集下载 https://pan.quark.cn/s/dd40e47387e7 https://sink-698.pages.dev/3ds CIA CCA 等格式可用于3DS模拟器和3DS实体机 3DS 是什么? 全称:Nin…

【Python小练习】3D散点图

资产风险收益三维分析 背景 王老师是一名金融工程研究员,需要对多个资产的预期收益、风险(波动率)和与市场的相关性进行综合分析,以便为投资组合优化提供决策依据。 代码实现 import matplotlib.pyplot as plt from mpl_toolk…

安宝特案例丨突破传统手术室,Vuzix AR 眼镜圆满助力全膝关节置换术

在巴西圣保罗医院的手术室里,骨科权威 Ricardo Gobbi医生正戴着 安宝特 Vuzix 智能 AR 眼镜,为一位膝关节炎患者实施全膝关节置换术。与传统手术不同的是,他的视野中实时叠加着骨骼三维模型、切割路径标线和动态数据 —— 这并非科幻场景&…

qt设置文件自动保存-cnblog

步骤: 「工具」->「选项」->「环境」->「Auto-save modified files」。 可开启/关闭自动保存文件功能,还可设置自动保存时间的间隔(最短间隔1分钟)。 钟)。

linux下如何找到dump文件被生成到哪里了

在大多数 Linux 系统中,核心转储文件(core dump)通常由系统自动保存在当前工作目录下,或者由配置决定其保存位置。核心转储文件的默认文件名通常包含进程 ID(PID)和程序名,例如 core.PID 或 cor…

API 调试工具校验 JSON Mock 接口(一):无参请求与基础响应验证

在前后端分离的开发模式中,JSON Mock 工具为前端开发人员在后端接口未就绪时提供了极大便利,能够模拟返回 JSON 数据的 API 接口,实现前端独立开发与测试。而 API 开发调试工具 作为一款强大的接口测试工具,可进一步对这些 Mock 接…

单体架构、微服务架构和分布式架构的区别

. 架构定义与核心特征 1.1 单体架构(Monolithic Architecture) 单体架构是将所有功能模块集中在一个单一代码库中的传统架构模式: 所有功能(UI层、业务逻辑、数据访问)打包为单一部署单元通常使用单一技术栈开发(如Spring Boot、Django等)共享单一数据库实例进程内通信(方法…