leetcode 兩數相加

2021-09-29 02:06:25 字數 690 閱讀 5890

版本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...