标签:lib lock 个数 amp node res return 头结点 iframe
给定两个链表,每个链表表示一个整数,求这两个整数之和。结果也还是用链表表示。
思路:
? 本质上这道题是两个数带进位的加法。两个对应位置上的和是和对10取余。进位则是和整除10.
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* result = new ListNode(-1);
ListNode* p = result;
int carry = 0;
while (l1 or l2 or carry) {
int a = 0;
int b = 0;
if (l1) {
a = l1->val;
l1 = l1->next;
}
if (l2) {
b = l2->val;
l2 = l2->next;
}
int sum = a + b + carry;
carry = sum / 10;
int val = sum % 10;
p->next = new ListNode(val);
p = p->next;
}
return result->next;
}
};
算法复杂度\(O(n)\)
标签:lib lock 个数 amp node res return 头结点 iframe
原文地址:https://www.cnblogs.com/MartinTai/p/14615276.html