当前位置:网站首页>BM13判断一个链表是否为回文结构

BM13判断一个链表是否为回文结构

2022-08-10 21:49:00 干饭小白

这种水题有很多种解法:

我直接用栈写的,思路就不过多解释了

一共就几行代码,闭着眼睛都能看明白

可优化内存:只将一般压入栈,反正我感觉没必要这么做,如果题目有内存限定可以优化下

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 */

class Solution {
public:
    /**
     * 
     * @param head ListNode类 the head
     * @return bool布尔型
     */
    bool isPail(ListNode* head) {
        // write code here
        //直接用栈写 okk
        stack<int>sta;
        ListNode *p = head;
        
        while(p != nullptr)
        {
            sta.push(p->val);
            p = p->next;
        }
        
        p = head;
        
        while(p != nullptr)
        {
            if(p->val != sta.top())
            {
                break;
            }
            sta.pop();
            p = p->next;
        }
        
        if(p == nullptr)
        {
            return true;
        }
        
        return false;
        
    }
};

原网站

版权声明
本文为[干饭小白]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_46120107/article/details/126205081