2.两数相加
我的解法
简单遍历。题目中给出的链表是逆序存储的,如果是顺序存储需要把链表倒置(头插法?)。
结果链表利用带头节点的尾插法生成。
官方解法
差不多的方法,在计算sum和carry的地方优化了一些。Python 和 C++ 取模都是%,但整数除法Python是//,C++是/,写顺手了被小坑了一下。
评论区有更精简的代码,在判断l1和l2非空的同时判断carry是否为0,这样可以不必考虑最后的进位(l1空l2空carry1,sum=0+0+1)。
需要注意的点就是这个边界条件,很容易坑人。
知识点
链表