carry) 变量 来存储进位值,确保高位正确。L1 和 L2:
L1 和 L2 当前位的值(如果某个链表已遍历完,则补 0)。sum = val1 + val2 + carry,更新 carry = sum // 10,当前位 sum % 10 作为新节点存入结果链表。L1 和 L2 都遍历完,且 carry == 0。给定两个非空链表 L1 和 L2,表示两个非负整数。
它们的每位数字按逆序存储,每个节点只能存储一位数字。
请计算它们的和,并以相同的逆序链表形式返回结果。
输入包含多组测试数据。
第一行输入一个整数 T(1≤T≤100),表示测试用例的数量。
对于每个测试用例:
n(1≤n≤100),表示链表 L1 的节点数。n 个整数(0≤Node.val≤9),表示 L1 的各位数字,按逆序存储。m(1≤m≤100),表示链表 L2 的节点数。m 个整数(0≤Node.val≤9),表示 L2 的各位数字,按逆序存储。对于每个测试用例,输出一行,表示两个链表相加后的结果,格式为:
0,不输出额外空格或换行。3
3
2 4 3
3
5 6 4
1
0
1
0
7
9 9 9 9 9 9 9
4
9 9 9 9
7 0 8
0
8 9 9 9 0 0 0 1
0 1 2 这样的情况)。