From 4e80fb7e6ecb55620544a5622ad3f09d0331f41e Mon Sep 17 00:00:00 2001 From: Xevion Date: Fri, 15 Jan 2021 19:39:48 -0600 Subject: [PATCH] add-two-numbers solution java --- add-two-numbers/Solution.java | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 add-two-numbers/Solution.java diff --git a/add-two-numbers/Solution.java b/add-two-numbers/Solution.java new file mode 100644 index 0000000..807856b --- /dev/null +++ b/add-two-numbers/Solution.java @@ -0,0 +1,40 @@ +// Accepted +// Runtime: 1 ms +// Memory Usage: 39.3 MB +// Submitted: January 15th, 2021 + +/** + * Definition for singly-linked list. + * public class ListNode { + * int val; + * ListNode next; + * ListNode() {} + * ListNode(int val) { this.val = val; } + * ListNode(int val, ListNode next) { this.val = val; this.next = next; } + * } + */ +class Solution { + public ListNode addTwoNumbers(ListNode a, ListNode b) { + ListNode dummy = new ListNode(0); + ListNode cur = dummy; + int carry = 0; + + while (a != null || b != null) { + int x = (a != null) ? a.val : 0; + int y = (b != null) ? b.val : 0; + int sum = carry + x + y; + + carry = sum / 10; + cur.next = new ListNode(sum % 10); + cur = cur.next; + + if (a != null) a = a.next; + if (b != null) b = b.next; + } + + if (carry > 0) + cur.next = new ListNode(carry); + + return dummy.next; + } +} \ No newline at end of file