社区
李世保的课程社区_NO_1
算法与数据结构精讲:回溯、动态规划、排序与搜索全攻略
帖子详情
1-3数组与链表的比较
飞翔的佩奇
2025-02-19 13:15:44
课时名称
课时知识点
1-3数组与链表的比较
对比数组和链表在存储、访问、插入和删除操作上的优缺点
...全文
46
回复
打赏
收藏
1-3数组与链表的比较
课时名称课时知识点1-3数组与链表的比较对比数组和链表在存储、访问、插入和删除操作上的优缺点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
链表
【9-1-3】
链表
与
数组
的
比较
静态
数组
优点是查询和修改方便,增加和删除难些,缺点在于第一处理不了大的数据,第二不能越界访问,也就是一旦固定了就没有办法变长,第三删除和增加非常麻烦。 动态
数组
,函数realloc会重新分配内存,可以处理大数据,每次增加一个人,需要重新分配内存,移动数据,每次删除一个人,需要移动很多数据,非常浪费计算机资源,
数组
的局限性,我们就需要用到
链表
,
链表
就不需要realloc这样的机制,就不用每次重新分
力扣-->#234. 回文
链表
-->
链表
-简单(双指针、
数组
列表、递归、快慢指针)
234. 回文
链表
题目描述: 给你一个单
链表
的头节点head,请你判断该
链表
是否为回文
链表
。如果是,返回true;否则,返回false。 示例 1: 输入:head = [1,2,2,1] 输出:true 示例 2: 输入:head = [1,2] 输出:false 提示:
链表
中节点数目在范围[1, 105] 内 0 <= Node.val <= 9 进阶: 你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 感觉这道题不难,但是自己...
NC96 判断一个
链表
是否为回文结构
分析: 1、反转
链表
,然后对比,空间复杂度O(n),时间复杂度O(n) 2、将
链表
数据存到
数组
里,时间复杂度空间复杂度都是O(n) 3、存到栈里 4、每次对比从前到后找到指定位置,时间复杂度O(n^2),空间复杂度O(1)——超时 2. import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * } */ public class Solut...
【刷题之路】LeetCode 234. 回文
链表
其实这一步是可有可无的,而我们必须要做的是将后半部分反转后的
链表
的尾节点的next置空。我们需要额外创建一个全局的指针,在每次递归中,如果本次递归满足前面的节点的val和后面的节点的val相同,就让前面的节点往后走一步。递归的思路其实类似于双指针,先让递归一层层深入,直到走到
链表
的尾,在通过一层层的返回来模拟指针从后往前走的动作。空间复杂度:O(n),空间复杂度主要取决于递归的最大深度,这里的最大深度就是
链表
的长度,故空间复杂度为O(n)。所以说,将前半部分的尾置空的操作是可有可无的。
判断回文
链表
之leetcode234题
法一:转
数组
后遍历 将
链表
转化成
数组
后遍历判断,此时遍历只需要遍历
数组
的前半部分,或者使用双指针法,代码如下: 时间复杂度:O(n),空间复杂度O(n) /** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next)..
李世保的课程社区_NO_1
1
社区成员
469
社区内容
发帖
与我相关
我的任务
李世保的课程社区_NO_1
it 男
复制链接
扫一扫
分享
社区描述
it 男
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章