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

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

这种水题有很多种解法:

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

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

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

/**
 * 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;
    }
};
相关文章
|
8月前
|
算法
【数据结构】链表的回文结构
【数据结构】链表的回文结构
|
3月前
|
算法
链表的回文结构
链表的回文结构
|
4月前
牛客网:OR36 链表的回文结构
牛客网:OR36 链表的回文结构
12 0
牛客网:OR36 链表的回文结构
|
5月前
链表的回文结构
链表的回文结构
|
6月前
|
C语言
牛客网 OR36 链表的回文结构
C语言实现的代码思路
26 0
|
7月前
【面试必刷TOP101】判断一个链表是否为回文结构 & 链表的奇偶重排
【面试必刷TOP101】判断一个链表是否为回文结构 & 链表的奇偶重排
21 0
|
7月前
|
存储
【链表OJ】链表中倒数第k个结点 合并两个链表(含哨兵位) 分割链表 链表的回文结构
【链表OJ】链表中倒数第k个结点 合并两个链表(含哨兵位) 分割链表 链表的回文结构
|
9月前
【链表OJ题 6】链表的回文结构
【链表OJ题 6】链表的回文结构
|
10月前
【Leetcode】反转链表 合并链表 相交链表 链表的回文结构
【Leetcode】反转链表 合并链表 相交链表 链表的回文结构
51 0
|
11月前
|
算法 C语言
链表中的倒数第k个结点 合并两个链表 分割链表 链表的回文结构
链表中的倒数第k个结点 合并两个链表 分割链表 链表的回文结构
60 0