c_cpp 2.添加两个数字 - 中 - 2018.8.7
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 2.添加两个数字 - 中 - 2018.8.7相关的知识,希望对你有一定的参考价值。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
if (l1 == NULL) return l2;
if (l2 == NULL) return l1;
int carry = 0;
ListNode *resultNode = l1;
while (l1 && l2) {
l1 -> val += (l2 -> val + carry);
if (l1 -> val >= 10) {
carry = 1;
l1 -> val -= 10;
} else {
carry = 0;
}
if (l1 -> next
&& l2 -> next) {
l1 = l1 -> next;
l2 = l2 -> next;
} else {
break;
}
}
if (carry == 0
&& l1 -> next == NULL
&& l2 -> next == NULL)
return resultNode;
if (l1 -> next == NULL
&& l2 -> next == NULL) {
l1 -> next = new ListNode(0);
} else if (l1 -> next == NULL) {
l1 -> next = l2 -> next;
}
l1 = l1 -> next;
while(carry) {
l1 -> val += carry;
if (l1 -> val >= 10) l1 -> val -= 10;
else break;
if (l1 -> next == NULL) {
l1 -> next = new ListNode(0);
}
l1 = l1 -> next;
}
return resultNode;
}
};
以上是关于c_cpp 2.添加两个数字 - 中 - 2018.8.7的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 添加由链接列表表示的两个数字
c_cpp 两个数字的最大乘积
c_cpp 445.增加两个数字II
c_cpp 总和最接近零的两个数字
c_cpp 在C ++中添加两个数组
c_cpp 给定两个表示为字符串的数字,将数字作为字符串返回乘法。注意:数字可以任意大