OR36 链表的回文结构

Posted 爱吃榴莲的喵星人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OR36 链表的回文结构相关的知识,希望对你有一定的参考价值。

文章目录


一、题目描述


题目链接


二、提供方便走读代码的图


三、题目代码

/*
struct ListNode 
    int val;
    struct ListNode *next;
    ListNode(int x) : val(x), next(NULL) 
;*/
struct ListNode *findMid(struct ListNode*head)

    struct ListNode* fast=head;
    struct ListNode* slow=head;
    while(fast&&fast->next)
    
        slow=slow->next;
        fast=fast->next->next;
    
    return slow;

struct ListNode * reserve(struct ListNode*head)

    struct ListNode*newHead=NULL;
    struct ListNode*cur=head;
    while(cur)
    
        struct ListNode*next=cur->next;
        cur->next=newHead;
        newHead=cur;
        cur=next;
    
    return newHead;

class PalindromeList 
public:
    bool chkPalindrome(ListNode* A) 
        ListNode* mid=findMid(A);
        ListNode*head=reserve(mid);
        ListNode*rhead=head;
        ListNode*Ahead=A;
        while(rhead&&Ahead)
        
            if(rhead->val!=Ahead->val)
            
                return false;
            
            else
            
                rhead=rhead->next;
                Ahead=Ahead->next;
            
        
        return true;
    
;

以上是本篇文章的全部内容,如果文章有错误或者有看不懂的地方,多和喵博主交流。互相学习互相进步。如果这篇文章对你有帮助,可以给喵博主一个关注,你们的支持是我最大的动力。

以上是关于OR36 链表的回文结构的主要内容,如果未能解决你的问题,请参考以下文章

Python 操作Redis

python爬虫入门----- 阿里巴巴供应商爬虫

Python词典设置默认值小技巧

《python学习手册(第4版)》pdf

Django settings.py 的media路径设置

Python中的赋值,浅拷贝和深拷贝的区别