See More

/** * 【工程】: LeetCode 包名: PACKAGE_NAME 类名: Add Two Numbers * 【作者】: liuyang * 【时间】: 16/10/6 上午9:48 * 【题目】: Add Two Numbers * 【内容】: * 【版本】: V1.0 * 【运行时间】: * 【时间复杂度】: * 【空间复杂度】: * 【备注】: * 【思路】: */ public class AddTwoNumbers { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode head = new ListNode(0); ListNode p = l1, q = l2, cur = head; int carry = 0; while (p != null || q != null) { int x = (p != null) ? p.val : 0; int y = (q != null) ? q.val : 0; int sum = x + y + carry; carry = sum / 10; cur.next = new ListNode(sum%10); cur = cur.next; if (p != null) p = p.next; if (q != null) q = q.next; } if (carry == 1) { cur.next = new ListNode(carry); } return head.next; } } class ListNode { int val; ListNode next; ListNode(int x) { val = x; } }