咕泡p4人工智能機(jī)器學(xué)習(xí)唐宇迪
ListNode temp = null;
? ? ? ?int carryBit = 0;
? ? ? ?while (true) {
? ? ? ? ? ?// 有一個(gè)或者兩個(gè)都是末尾節(jié)點(diǎn),并且沒(méi)有進(jìn)位,則跳出循環(huán)
? ? ? ? ? ?if ((l1 == null || l2 == null) && carryBit == 0) {
? ? ? ? ? ? ? ?temp.next = (l1 != null) ? l1 : l2;
? ? ? ? ? ? ? ?break;
? ? ? ? ? ?}
? ? ? ? ? ?// 判斷兩個(gè)節(jié)點(diǎn)相加后,是否需要進(jìn)位
? ? ? ? ? ?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;