OR36 链表的回文结构

目录

一、思路

二、代码

一、思路

找到中间节点

后半部分逆置链表

定义两个指针,一个从头开始出发

一个从中间位置开始出发

但是注意:链表个数可能是奇数或者偶数,需要注意中间节点的计算

二、代码


struct ListNode* reverseList(struct ListNode* head) {if(head == NULL){return NULL;}struct ListNode *prev = NULL,*cur = head, *next = cur->next;while(next){if(prev == NULL){cur->next = NULL;}else{cur->next = prev;}prev = cur;cur = next;next = next->next;}cur->next = prev;return cur;
}
#include <asm-generic/errno.h>
class PalindromeList {
public:bool chkPalindrome(ListNode* A) {// write code here//找中间节点struct ListNode *slow = A, *fast = A;while(fast && fast->next){slow = slow->next;fast = fast->next->next;}struct ListNode *mid = slow;struct ListNode *rhead = reverseList(slow);//比较struct ListNode *begin = A;while(begin && mid){if(begin->val != rhead->val)return false;begin = begin->next;mid = mid->next;}return true;}
};

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

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

相关文章

linux的kali安装,换源,更新包

下载kali kali.org进入官网后点第二个 然后点第一个 解压kali 下载后获得.7z压缩包&#xff0c;建议移动到合适自己电脑的位置进行解压&#xff0c;我喜欢放在D盘 启动kali 双击进入解压出的文件夹&#xff0c;将唯一一个.vmx文件用vmware打开&#xff08;没装的自行提前装…

【Redis】更改redis中的value值

今天继续进步一点点~~ 背景&#xff1a;今天有个前端的同事问我&#xff0c;能不能在Redis中他本人登录公众号的 sessionID 加上一列openID 于是我上网查了一堆在Redis里面的命令&#xff0c;以及不同的客户端怎么输入命令&#xff0c;但是后来问了下同事&#xff0c;他就给我…

[设计模式Java实现附plantuml源码~创建型] 对象的克隆~原型模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…

设置代码模板创建sql映射文件、Mybatis主配置文件

目录 1、Sql映射&#xff08;Sql Mapper&#xff09;文件的介绍 2、Mybatis的主配置文件的介绍 3、通过代码模板创建Sql映射文件 4、通过代码模板创建Mybatis主配置文件 1、Sql映射&#xff08;Sql Mapper&#xff09;文件的介绍 <?xml version"1.0" encod…

国产操作系统:VirtualBox安装openKylin-1.0.1虚拟机并配置网络

国产操作系统&#xff1a;VirtualBox安装openKylin-1.0.1虚拟机并配置网络 openKylin 操作系统目前适配支持X86、ARM、RISC-V三个架构的个人电脑、平板电脑及教育开发板&#xff0c;可以满足绝大多数个人用户及开发者的使用需求。适用于在VirtualBox平台上安装openKylin-1.0.1…

梳理一下若依框架的权限过滤系统

梳理一下若依框架的权限过滤系统 首先&#xff0c;我们直入主题&#xff0c;且看这段代码 /*** 获取用户列表*/ PreAuthorize("ss.hasPermi(system:user:list)") GetMapping("/list") public TableDataInfo list(SysUser user) {startPage();List<SysU…

力扣62. 不同路径

动态规划 思路&#xff1a; 定义 dp[r][c] 为到达坐标 (r, c) 的路径数&#xff1a; 它只能有同一行左边相邻方格向右到达或者同一列上方相邻方格向下到达&#xff1b;状态转移方程&#xff1a; dp[r][c] dp[r][c - 1] dp[r - 1][c]初始状态 dp[0][0] 1第一行的路径数是 1第…

GPT-4开启人工智能赋能教育的新时代

2022年11月30日&#xff0c;美国 OpenAI公司发布了一款最新研发的生成式人工智能产品——ChatGPT&#xff08;Chat Generative Pre-trained Transformer&#xff09;。ChatGPT的推出&#xff0c;仅用了短短两个月时间就快速占领了人工智能领域的主导地位&#xff0c;成为历史上…

你必须知道postman和Jmeter做接口测试区别

1. 用例组织方式 Jmeter的组织方式相对比较扁平&#xff0c;它首先没有WorkSpace的概念&#xff0c;直接是TestPlan&#xff0c;TestPlan下创建的Threads Group就相当于TestCase&#xff0c;并没有TestSuite的层级。 Postman功能上更简单&#xff0c;组织方式也更轻量级&…

【代码实战】从0到1实现transformer

获取数据 import pathlibimport tensorflow as tf# download dataset provided by Anki: https://www.manythings.org/anki/ text_file tf.keras.utils.get_file(fname"fra-eng.zip",origin"http://storage.googleapis.com/download.tensorflow.org/data/fra-…

如何基于 esp-adf 增加自定义的 board 选项?

SDK &#xff1a; esp-adf 在“esp-adf/components/audio_board” 目录下添加自定义的 board 文件&#xff0c;例如 “esp32_s2_msd_board” 。如下&#xff1a; 可以直接复制已有的 board 文件&#xff0c;改成自己的文件名称&#xff0c;然后对应修改 board_pins_config.c 文…

Java JVM内存结构 虚拟机栈 本地方法栈 方法区 直接内存

Java Virtual Machine &#xff0c;Java 程序的运行环境&#xff08;Java 二进制字节码的运行环境&#xff09;。 常见的 JVM&#xff1a; 来源维基百科&#xff1a;https://en.wikipedia.org/wiki/Comparison_of_Java_virtual_machines 学习路线&#xff1a; 参考资料&#x…