public static ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int sum = 0;
int into1 = 0;
ListNode resultList = new ListNode(0);
ListNode temp = resultList;
//因为不知道链表具体长度 所以用while遍历链表
while (l1 != null || l2 != null || into1>0){
//因为l1与l2的链表长度不一定相等,所以当遍历较短的链表时,节点肯定是为null,相加需要补0
int x,y;
x = l1 == null?0:l1.val;
y = l2 == null?0:l2.val;
sum = x+y+into1;
//如果大于等于10,需要给下一个节点的值加上1
into1 = sum>=10?1:0;
//每个需要生成的节点的值实际上是sum除以的余数
temp.next = new ListNode(sum%10);
temp = temp.next;
l1 = l1 == null?null:l1.next;
l2 = l2 == null?null:l2.next;
}
return resultList.next;
}