版本1:定義了和為int型或者long型,但實際上提交時會出現溢位錯誤
版本2:直接利用定義相加
反思:一開始題意沒有理解清楚,就暴力法求和相加解決,進而發現有可能會導致整數溢位,這也提醒我們在使用c++的時候,一定要關注數的表示範圍。
再次理解題意之後,利用題目定義求解,會發現非常簡單。
//版本一
struct listnode
};class solution
while(q)
sum = sum1 + sum2;
int max = count1>count2 ? count1:count2;
int n;
if(sum >= pow(10, max))
n = max+1;
else
n = max;
listnode *head = new listnode(0);
listnode *r = head;
int count = 0;
int tempval;
while(n >count)
return head->next;
}};
//版本二
class solution
return head->next;
}};
LeetCode 兩數相加
題目來自leetcode 注意幾點 鍊錶對應結點相加時增加前乙個結點的進製,並儲存下乙個結點的進製 兩個鍊錶長度不一致時,要處理較長鍊錶剩餘的高位和進製計算的值 如果最高位計算時還產生進製,則還需要新增乙個額外結點。definition for singly linked list.struct l...
leetcode 兩數相加
給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭.示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 definition for singly ...
leetcode 兩數相加
給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8原因 342 465 807 definition for singly l...