2. Add Two Numbers
Analysis
披着链表外壳的大数加法题,算是模拟加法与合并链表两个题的结合版。
Code
1 | class Solution { |
这样写虽然很思路清楚,但是看着很繁琐(主要是太长),改短一点:
1 | class Solution { |
445. Add Two Numbers II
Analysis
这是上个题的升级版,差别在于这里将数字的每一位正序存在链表中了,所以计算之前得先逆置链表。
Code
直接把上面的代码与原来写过的反转链表代码抄过来😂。
1 | class Solution { |
还有一个进阶提示是不反转链表如何做。如果不反转链表的话,可以用栈来保存链表节点,然后依次取栈顶结点来进行计算,计算思路与上一个题是一样的。不过为了直接得到正序的结果,在构造新链表的时候,需要将最先插入的结点放到最后面,所以这里的指针使用与上一个题不一样(实际上就是链表的另一种建立方法)。偷个懒,不写了吧😁。
Summary
感觉链表的题做的有点乏味,因为是基础的缘故,好像也没有编一些复杂数据结构的题到这个系列吗?