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

链表的回文判断

思路:
找中间节点–>逆置->比较

在这里插入图片描述
代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/struct ListNode* middleNode(struct ListNode* head)
{
struct ListNode*slow=head;
struct ListNode*flast=head;
while(flast&&flast->next)
{slow=slow->next;flast=flast->next->next;
}
return slow;
}
struct ListNode* reverseList(struct ListNode* head){struct ListNode*newhead=NULL;struct ListNode*cur=head;while(cur){struct ListNode*per=cur->next;cur->next=newhead;newhead=cur;cur=per;}return newhead;
}
bool isPalindrome(struct ListNode* head){
struct ListNode* mid=middleNode(head);//找中间节点struct ListNode* rmid=reverseList(mid);//逆置//比较while(head&&rmid){if(head->val==rmid->val){head=head->next;rmid=rmid->next;}else {return false;}}return true;
}
http://www.lryc.cn/news/176139.html

相关文章:

  • 281_JSON_两段例子的比较,哪一段更简洁、易懂、没有那么多嵌套
  • 想要精通算法和SQL的成长之路 - 最长递增子序列 II(线段树的运用)
  • java用easyexcel按模版导出
  • Servlet执行流程生命周期方法介绍体系结构、Request和Response的功能详解
  • 软件工程之总体设计
  • 监控员工电脑文件拷贝记录:电脑怎么看员工复制文件的历史记录
  • vue中request.js中axios请求和(若依)文件通用下载方法封装
  • 【大数据存储与处理】1. hadoop单机伪分布安装和集群安装
  • linux通过time命令统计代码编译时间
  • logback日志是怎么保证多线程输出日志线程安全的
  • 2022年统计用区划代码表SQL 01
  • EM@基本初等函数@幂和根式@指数函数
  • 时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测
  • element 二次确认框,内容自定义处理
  • 【软件设计师-中级——刷题记录4(纯干货)】
  • 9.24 校招 实习 内推 面经
  • 第二章:25+ Python 数据操作教程(第二十五节用 PYTHON 和 R 制作祝福圣诞节)持续更新
  • 你是怎么理解自动化测试的?理解自动化测试的目的和本质
  • 二十六、MySQL并发事务问题:脏读/不可重复读/幻读
  • RK3588平台开发系列讲解(项目篇)视频监控之RTMP推流
  • http基础教程(超详细)
  • Vue3 <script setup> 单文件组件 组合式 API 相关语法
  • 为什么说网络安全是IT行业最后的红利?是风口行业?
  • DD5 进制转换
  • 操作系统权限提升(二十七)之数据库提权-MySQL MOF提权
  • springcloud:四、nacos介绍+启动+服务分级存储模型/集群+NacosRule负载均衡
  • 人生第一个java项目 学生管理系统
  • Oracle统计信息手动收集与修改
  • 鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统
  • ubuntu安装freeswitch 1.10.10