2 兩數相加

2022-07-17 19:39:13 字數 812 閱讀 5767

方法1:將長度較短的鍊錶在末尾補零使得兩個連表長度相等,再乙個乙個元素對其相加(考慮進製)

code

class solution 

while (cur2->next != null)//獲取l2的長度

if (len1 > len2)//l1較長,在l2末尾補零

}else//l2較長,在l1末尾補零

}cur1 = l1;

cur2 = l2;

bool carry = false;//記錄進製

listnode* l3 = new listnode(-1);//存放結果的鍊錶

listnode* cur = l3;//l3的移動指標

int i = 0;//記錄相加結果

while (cur1 != null && cur2 != null)

if (carry)//若最後還有進製

return l3->next;

}};

方法2:不對齊補零,若煉表不為空則用sum(代表每個位的和的結果)加上,考慮進製

class solution 

if (l2 != nullptr)

if (carry)

cur->next = new listnode(sum % 10);

cur = cur->next;

carry = sum >= 10 ? true : false;

}if (carry)

return head->next;

}};

2 兩數相加

平均星級 4.45 239次評分 2018年2月2日 28.6k次 預覽 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 ...

2 兩數相加

給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8原因 342 465 807 definition for singly l...

2 兩數相加

給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807演算法 我們首先從最低有效位也就是列表 l1和...