class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* head = new ListNode();
ListNode* curNode = head;
ListNode* curL1 = l1;
ListNode* curL2 = l2;
int carry = 0;
while(curL1 || curL2){
if(curL1 && curL2){
int sum = curL1->val + curL2->val + carry;
carry = sum / 10;
ListNode* newNode = new ListNode(sum % 10);
curNode->next = newNode;
curNode = curNode->next;
curL1 = curL1->next;
curL2 = curL2->next;
}else if(curL1 && !curL2){
int sum = curL1->val + carry;
carry = sum / 10;
ListNode* newNode = new ListNode(sum % 10);
curNode->next = newNode;
curNode = curNode->next;
curL1 = curL1->next;
}else if(!curL1 && curL2){
int sum = curL2->val + carry;
carry = sum / 10;
ListNode* newNode = new ListNode(sum % 10);
curNode->next = newNode;
curNode = curNode->next;
curL2 = curL2->next;
}
}
if(carry != 0){
ListNode* newNode = new ListNode(carry);
curNode->next = newNode;
}
head = head->next;
return head;
}
};
LeetCode Hot100 2.两数相加
最新推荐文章于 2024-08-14 15:48:50 发布