没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
**
🍭
更多精彩内容,欢迎关注:公众号 / Github / LeetCode / 知乎 **
噔噔噔噔,这是公众号「噔噔噔噔,这是公众号「宫水三叶的刷宫水三叶的刷题题日日记记」的原」的原创专题创专题「「链链表」合集。表」合集。
本合集更新时间本合集更新时间为为 2021-10-07,大概每,大概每 2-4 周会集中更新一次。周会集中更新一次。关注公众号,后台回复「注公众号,后台回复「链链
表」即可获取最新下表」即可获取最新下载链载链接。接。
💡💡
下面介下面介绍绍使用本合集的最佳使用实使用本合集的最佳使用实践::
学学习习算法:算法:
1. 打开在线目录(Github 版 & Gitee 版);
2. 从侧边栏的类别目录找到「链表」;
3. 按照「推荐指数」从大到小进行刷题,「推荐指数」相同,则按照「难度」从易到
难进行刷题‘
4. 拿到题号之后,回到本合集进行检索。
维维持熟持熟练练度:度:
1. 按照本合集「从上往下」进行刷题。
学学习习过程中遇到任何困过程中遇到任何困难难,欢迎加入「每日一,欢迎加入「每日一题题打卡打卡 QQ 群:群:703311589」」进进行交流行交流
🍭🍭🍭🍭🍭🍭
**
🍭
更多精彩内容,欢迎关注:公众号 / Github / LeetCode / 知乎 **
题题目描述目描述
这是 LeetCode 上的 2. 两数相加两数相加 ,难度为 中等中等。
Tag : 「递归」、「链表」、「数学」、「模拟」
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并
且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例 1:
输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[7,0,8]
解释:342 + 465 = 807.
示例 2:
输入:l1 = [0], l2 = [0]
输出:[0]
示例 3:
输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:[8,9,9,9,0,0,0,1]
提示:
• 每个链表中的节点数在范围 [1, 100] 内
• 0 <= Node.val <= 9
• 题目数据保证列表表示的数字不含前导零
朴素解法(哨兵技巧)朴素解法(哨兵技巧)
这是道模拟题,模拟人工竖式做加法的过程:
从最低位至最高位,逐位相加,如果和大于等于 10,则保留个位数字,同时向前一位进 1 如果
最高位有进位,则需在最前面补 1。
做有关链表的题目,有个常用技巧:添加一个虚拟头结点(哨兵),帮助简化边界情况的判断。
代码:
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode dummy = new ListNode(0);
ListNode tmp = dummy;
int t = 0;
while (l1 != null || l2 != null) {
int a = l1 != null ? l1.val : 0;
int b = l2 != null ? l2.val : 0;
t = a + b + t;
tmp.next = new ListNode(t % 10);
t /= 10;
tmp = tmp.next;
if (l1 != null) l1 = l1.next;
if (l2 != null) l2 = l2.next;
}
if (t > 0) tmp.next = new ListNode(t);
return dummy.next;
}
}
• 时间复杂度:m 和 n 分别代表两条链表的长度,则遍历到的最远位置为
max(m, n),复杂度为 O(max(m, n))
• 空间复杂度:创建了 max(m, n) + 1 个节点(含哨兵),复杂度为
O(max(m, n))(忽略常数)
注意:事实上还有可能注意:事实上还有可能创创建建 max(m + n) + 2 个个节节点,包含哨兵和最后一位的点,包含哨兵和最后一位的进进位。但复位。但复杂杂
度仍度仍为为 O(max(m, n))。。
**
🍭
更多精彩内容,欢迎关注:公众号 / Github / LeetCode / 知乎 **
剩余77页未读,继续阅读
坐在地心看宇宙
- 粉丝: 23
- 资源: 331
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0