【leetcode】链表的回文结构

大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️


点击查看题目

思路:

1.找中间节点

找中间节点的方法在下面这个博文中详细提过
【点击进入:【leetcode】链表的中间节点 】

2.反转中间节点后面的链表

反转链表也讲过
【点击进入:【leetcode】反转链表 】

c 复制代码
class PalindromeList {
public:
    bool chkPalindrome(ListNode* head) {
        //1.找到中间节点
        ListNode* slow=head;
        ListNode* fast=head;
        while(fast&&fast->next)
        {
            slow=slow->next;
            fast=fast->next->next;
        }

        //2.反转中间节点后面的链表
        ListNode* n1=nullptr;
        ListNode* n2=slow;
        ListNode* n3=n2->next;
        while(n2)
        {
            n2->next=n1;
            n1=n2;
            n2=n3;
            if(n3)
                n3=n3->next;
        }

        //3.比较
        while(head&&n1)
        {
            if(head->val!=n1->val)
                return false;
            head=head->next;
            n1=n1->next;
        }
        return true;
    }
};

好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️

相关推荐
WolfGang0073211 天前
代码随想录算法训练营Day45 | 101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
算法·深度优先
2301_764441331 天前
PMC政策文本量化评估
python·算法·信息可视化
代码游侠1 天前
应用——Linux进程编程实例分析
linux·运维·网络·笔记·学习·算法
DuHz1 天前
《Around the Corner mmWave Imaging in Practical Environments》论文精读
论文阅读·算法·信息与通信·毫米波雷达
CoderYanger1 天前
D.二分查找-基础-2529. 正整数和负整数的最大计数
java·开发语言·数据结构·算法·leetcode·职场和发展
想唱rap1 天前
Linux下进程的控制
linux·运维·服务器·c++·算法
夏乌_Wx1 天前
练题100天——DAY25:升序合并文件+相交链表+多数元素
数据结构·算法·哈希算法
南_山无梅落1 天前
8.Python3字典(dict):键值的增删改查_入门到进阶
python·算法
柒.梧.1 天前
数据结构:二叉排序树,平衡二叉树,红黑树的介绍
数据结构·算法
Xの哲學1 天前
Linux ALSA音频架构: 从内核驱动到应用开发的全面解析
linux·服务器·算法·架构·边缘计算