【力扣hot100题】(122)回文链表

只会先化为数组的做法,看答案了解了一下递归做法,不过空间复杂度没区别,但是挺巧妙的。

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode *h;
    bool isPalindrome(ListNode* head) {
        h=head;
        return dg(head);
    }
    bool dg(ListNode* node){
        node=node->next;
        if(node==NULL) return 1;
        bool b=dg(node);
        if(node->val!=h->val) return 0;
        h=h->next;
        return b;
    }
};

看了答案中空间复杂度O(1)的做法,其实难想到,就是用快慢指针找到中间点,之后将后半段反转。

相关推荐
Love Song残响3 小时前
30字高效MATLAB优化指南
数据结构·算法
sin_hielo4 小时前
leetcode 1975
数据结构·算法·leetcode
2501_941820494 小时前
面向零信任安全与最小权限模型的互联网系统防护设计思路与多语言工程实践分享
开发语言·leetcode·rabbitmq
cpp_25014 小时前
P1583 魔法照片
数据结构·c++·算法·题解·洛谷
无限进步_4 小时前
【C语言】堆排序:从堆构建到高效排序的完整解析
c语言·开发语言·数据结构·c++·后端·算法·visual studio
2501_941805934 小时前
一次从接口网关到异步消息驱动架构演化的互联网系统实践技术随笔分享录
leetcode·决策树·贪心算法
努力变大白5 小时前
物流路径优化系统的算法设计与实现:从理论到实践的完整探索
算法
黛色正浓5 小时前
leetCode-热题100-二叉树合集(JavaScript)
javascript·算法·leetcode
zl_vslam6 小时前
SLAM中的非线性优-3D图优化之地平面约束(十四)
算法·计算机视觉·平面·3d
炽烈小老头6 小时前
【每天学习一点算法 2026/01/05】打乱数组
学习·算法·leetcode