2. Add Two Numbers
问题
你有两个非空链表代表两个非负整数。这些数字以相反的顺序存储,每个节点包含一个数字。将这两个数字相加并以链表的形式返回。
您可以假设这两个数字不包含任何前导零,除了数字0本身。
例子:
思路
传统做法是:依次遍历链表的每一个节点,如果有进位就计为 carry。判断是否继续生成新链表的是判断是否 list1、list2 是否还存在 next
,以及是否存在进位。Discussion 有个大神将这个链表转化成了int来进行加减,然后赋值给了新的链表,代码极其简短。这个方法会出现问题。因为当链表特别长、代表整数特别大的情况下,Python3 不容易对这种大数进行四则运算。所以这里我还是用的传统做法。
答案
最后更新于