题目:
给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字0之外,这两个数都不会以0开头。
示例:
输入:(2-4-3)+(5-6-4)
输出:7-0-8
原因:+=
解答:
我一开始的思路受示例的影响,觉得是把listNode数据结构转成数字,相加,再把数字转成ListNode输出即可。
提交测试,发现测试用例有超长的数据,直接超过Java中最大的Int可表示的范围。(java整数最大大约20亿,是个10位数)
所以这个思路是错误的。
这个题考的其实就是大数相加问题。
处理大数相加,也不是很难。只要自己处理好进位即可。
下面是我的解答: