class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
if(l1==null&&l2==null)return null;
if(l1==null)return l2;
if(l2==null)return l1;
ListNode num1 = l1,num2 = l2;
ListNode newHead = new ListNode(-1);
ListNode rear = newHead;
int cur = 0,jw = 0;
while(num1!=null&&num2!=null){
cur = (num1.val+num2.val+jw);
jw = cur/10;
rear.next = new ListNode(cur%10);
rear = rear.next;
num1 = num1.next;
num2 = num2.next;
}
while(num1!=null){
cur = num1.val+jw;
jw = cur/10;
num1 = num1.next;
rear.next = new ListNode(cur % 10);
rear = rear.next;
}
while(num2!=null){
cur = num2.val+jw;
jw = cur/10;
num2 = num2.next;
rear.next = new ListNode(cur % 10);
rear = rear.next;
}
while(jw>0){//注意别忘记这里,当最高位还有进位时要继续对进位进行处理
rear.next = new ListNode(jw % 10);
jw/=10;
rear = rear.next;
}
return newHead.next;
}
}
T2 两数相加
最新推荐文章于 2023-08-08 16:19:24 发布