题意:
两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。假设除了数字 0 之外,这两个数字都不会以零开头。不能对列表中的节点进行翻转。
解法:
我的解法:
建另外一个链表先从最高位到最低位进行相加存储,后面产生的节点插在前面节点的前面,然后遍历链表处理大于10的数和余数,最后要注意判断最后余数是否大于0,是则在最后新增一个节点存放余数,然后将链表翻转。
官方解法:
用两个栈存储数据后,输出相加,相加的结果产生一个节点,next指向前一个节点。
总结:
链表其实跟数组一样也可以用栈、队列等进行操作,只是链表特殊性,有时通过自身的调整进行操作。
leetcode 445. Add Two Numbers II
最新推荐文章于 2024-07-07 22:18:08 发布