Java學習筆記_流程控制_迴圈結構
阿新 • • 發佈:2021-10-07
兩個連結串列表示非負整數,連結串列逆序儲存了資料的每一位,求兩個數之和。
1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * ListNode() {} 7 * ListNode(int val) { this.val = val; } 8 * ListNode(int val, ListNode next) { this.val = val; this.next = next; }9 * } 10 */ 11 class Solution { 12 public ListNode addTwoNumbers(ListNode l1, ListNode l2) { 13 ListNode dummy = new ListNode(-1); 14 ListNode end = dummy; 15 int c = 0; 16 while(l1 != null && l2 != null) { 17 int s = l1.val + l2.val + c; 18 c = s / 10;19 ListNode node = new ListNode(s % 10); 20 end = end.next = node; 21 l1 = l1.next; 22 l2 = l2.next; 23 } 24 while(l1 != null) { 25 int s = l1.val + c; 26 c = s / 10; 27 ListNode node = new ListNode(s % 10);28 end = end.next = node; 29 l1 = l1.next; 30 } 31 while(l2 != null) { 32 int s = l2.val + c; 33 c = s / 10; 34 ListNode node = new ListNode(s % 10); 35 end = end.next = node; 36 l2 = l2.next; 37 } 38 if(c == 1) { 39 ListNode node = new ListNode(c); 40 end = end.next = node; 41 } 42 return dummy.next; 43 } 44 }