https://leetcode.com/problems/add-two-numbers/
(다시 풀기)
/**
* 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 l1, ListNode l2) {
ListNode dummyHead = new ListNode(0);
ListNode p = l1, q = l2, curr = dummyHead;
int carry = 0;
while( p != null || q != null) {
int x = (p != null) ? p.val : 0;
int y = (q != null) ? q.val : 0;
int sum = carry + x + y;
carry = sum / 10;
curr.next = new ListNode(sum % 10);
curr = curr.next;
if( p != null ) p = p.next;
if( q != null ) q = q.next;
}
if (carry > 0){
curr.next = new ListNode(carry);
}
return dummyHead.next;
}
}
'Leetcode 100문제 도전' 카테고리의 다른 글
[Leetcode 6/100] Same Tree - Easy (0) | 2020.08.25 |
---|---|
[Leetcode 5/100] Roman to Integer - Easy (1) | 2020.06.29 |
[Leetcode 4/100] Palindrome Number - Easy (1) | 2020.06.28 |
[Leetcode 3/100] Reverse Integer - Easy (1) | 2020.06.17 |
[Leetcode 1/100] Two Sum - Easy (0) | 2020.06.14 |