首页 > 其他分享 >力扣234-回文链表

力扣234-回文链表

时间:2023-12-22 13:13:36浏览次数:24  
标签:力扣 复杂度 链表 234 节点 回文

难度:【简单】

  • 第一个想法是用栈,提交代码3次都显示解答错误。原因:第一次是没考虑一个节点的情况;第二次是不应该通过栈剩余元素个数判断单节点情况;第三次是没有考虑奇数个节点的情况。
  • 看官方题解,重新思考。用数组最容易解,时空复杂度都是O(n)。刚开始用栈是以为能优化到进阶的O(1)空间复杂度,其实是无法做到的。用快慢指针可以确定链表的前半段和后半段,通过反转其中半段链表可以得到O(1)的空间复杂度,但是感觉比较麻烦。
  • 想寻求更好的O(1)空间复杂度的算法,没想出来。。用数组写了一遍提交通过了。

标签:力扣,复杂度,链表,234,节点,回文
From: https://www.cnblogs.com/metasequoiaa/p/17921360.html

相关文章

  • 链表
    约瑟夫问题(洛谷P1996)题目大意用Markdown写博客一年多了,最开始是用富文本写,后来发现Markdown更适合我,而且CSDN提供了导入导出的功能,图片可以云存储,所以导出了博文在本地也可以直接看,尤其是笔记类型很方便。所以这里总结一下自己常用模板和小伙伴们分享下[这里写一些为啥要整理......
  • 题解 Gym 102341B【Bulbasaur】/ SS231107C【爬梯高手】
    题解SS231107C【爬梯高手】撞原了,好耶!Gym102341B顺便把我的变异加强版爆标了!!!problem有一个\(n*m\)个点的有向分层图,共有\(n\)层,每层\(m\)个点,每条边一定是从第\(i\)层连向第\(i+1\)层。定义\(f(i,j)\)表示选择若干条路径,每条路径从第\(i\)层出发,在第\(j\)......
  • 【力扣】-9. 回文数|刷题打卡-JS
    给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例1:输入:x=121输出:true示例 2:输入:x=-121输出:false解释:从左向右读,为-121。从右向左读,为121-。......
  • 【重排链表】双指针+反转链表+合并链表
    leetcode143.重排链表题意:给定一个单链表L的头节点head,单链表L表示为:L0→L1→…→Ln-1→Ln请将其重新排列后变为:L0→Ln→L1→Ln-1→L2→Ln-2→…不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。题解:可以发现重新排列的链......
  • 【环形链表】哈希表HashSet / 双指针
    leetcode142.环形链表II题意:不可更改链表节点,给定链表表头,返回链表在环中的第一个节点,没有返回null题解:哈希表集合遍历一遍链表,哈希表集合维护链表节点,当访问到的当前节点已经在集合中,说明当前节点是所求节点哈希表集合解代码/***Definitionforsingly-linkedlist.......
  • 代码随想录算法训练营第四天|24.两两交换链表中的节点、19.删除链表的倒数第N个节点、
    LeetCode24.两两交换链表中的节点题目链接: 24.两两交换链表中的节点提示:链表问题,首先用虚拟头节点,让链表节点的处理具有一致性!!! LeetCode19.删除链表的倒数第N个节点题目链接:19.删除链表的倒数第N个节点注意点:快慢指针,链表删除元素得找到该元素的前一个元素!!! LeetCode......
  • 代码随想录算法训练营第四天| LeetCode24. 两两交换链表中的节点、19.删除链表的倒数
     LeetCode24.两两交换链表中的节点●今日学习的文章链接和视频链接代码随想录(programmercarl.com)题目链接24.两两交换链表中的节点-力扣(LeetCode)●自己看到题目的第一想法主要是把这个过程想清楚,链表交换的题目主要想明白要动几个指针,指针改变的顺序也要注意,如果......
  • 【反转子链表】模拟题
    leetcode92.反转链表II题意:反转链表的[left,right],返回链表表头题解:直接模拟删除的过程即可定义重要节点记录left位置的节点为lnode,right位置的节点为rnodelnode的前驱节点为pre,right位置的后继节点为suc初始化pre=suc=lnode=rnode=原链表表头前的虚拟节点......
  • 链表
    1.链表概念使用数组存储数据的缺陷:插入和删除需要移动数据复杂度为O(N)不好那么,是否有一种存储结构可以在插入删除数据时不需要移动数据?答案是链表什么是链表?链表是一种在逻辑上连续存储但是在物理上(内存空间)中不一定连续的存储结构,如下图链表中的每一个元......
  • 力扣第 376 场周赛(三分,中位数贪心,滑动窗口)
     用一个哈希表记录一下,然后遍历统计一下即可。classSolution{public:vector<int>findMissingAndRepeatedValues(vector<vector<int>>&grid){intn=grid.size();unordered_set<int>st;vector<int>res;......