class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode preNode = new ListNode(0);
ListNode tail = preNode;
int pre = 0;
while (l1!=null&&l2!=null){
int val1 = l1.val;
int val2 = l2.val;
int res = val1+val2+pre;
pre = res/10;
tail.next = new ListNode(res%10);
tail=tail.next;
l1=l1.next;
l2=l2.next;
}
while (l1!=null){
tail.next = new ListNode((l1.val+pre)%10);
tail=tail.next;
pre = (l1.val+pre)/10;
l1=l1.next;
}
while (l2!=null){
tail.next = new ListNode((l2.val+pre)%10);
tail=tail.next;
pre = (l2.val+pre)/10;
l2= l2.next;
}
if (pre!=0)tail.next = new ListNode(pre);
return preNode.next;
}
}
2. Add Two Numbers
最新推荐文章于 2021-12-02 14:05:46 发布
本文介绍了一种解决两数相加问题的方法,通过链表形式存储数值,并逐位相加进位处理。该算法适用于需要进行大数运算且内存资源有限的场景。
814

被折叠的 条评论
为什么被折叠?



