咕泡p4人工智能机器学习唐宇迪
ListNode temp = null;
int carryBit = 0;
while (true) {
// 有一个或者两个都是末尾节点,并且没有进位,则跳出循环
if ((l1 == null || l2 == null) && carryBit == 0) {
temp.next = (l1 != null) ? l1 : l2;
break;
}
// 判断两个节点相加后,是否需要进位
int sum;
if ((sum = (l1 != null ? l1.val : 0) + (l2 != null ? l2.val : 0) + carryBit) > 9) {
sum -= 10;
carryBit = 1;
} else {
carryBit = 0;
}
ListNode sumNode = new ListNode(sum);
if (headNode == null) {
headNode = sumNode;
} else {
temp.next = sumNode;
}
temp = sumNode;
l1 = l1 != null ? l1.next : null;
l2 = l2 != null ? l2.next : null;
}
return headNode;