0
点赞
收藏
分享

微信扫一扫

LeetCode 2. 两数相加

素锦时年_1b00 2022-06-02 阅读 37

LeetCode 2. 两数相加_代码

/**
* 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) {
if (l1 == null) return l2;
if (l2 == null) return l1;

ListNode l3 = new ListNode();
ListNode p1 = l1, p2 = l2, p3 = l3;
int carry = 0;
while(true) {
if (p1 == null && p2 == null) break;

int a = p1 == null ? 0 : p1.val;
int b = p2 == null ? 0 : p2.val;
int sum = a + b + carry;
if (sum >= 10) {
carry = 1;
sum -= 10;
} else {
carry = 0;
}

p3.next = new ListNode(sum);

if (p1 != null) {
p1 = p1.next;
}

if (p2 != null) {
p2 = p2.next;
}

p3 = p3.next;
}

if(carry == 1) {
p3.next = new ListNode(1);
}

return l3.next;
}
}


举报

相关推荐

0 条评论