題目描述 字符串相加
給定兩個(gè)字符串形式的非負(fù)整數(shù) num1 和num2 ,計(jì)算它們的和仁锯。
注意:
num1 和num2 的長度都小于 5100.
num1 和num2 都只包含數(shù)字 0-9.
num1 和num2 都不包含任何前導(dǎo)零耀找。
你不能使用任何內(nèi)建 BigInteger 庫, 也不能直接將輸入的字符串轉(zhuǎn)換為整數(shù)形式业崖。
解題思路
雙指針模擬相加就行了
代碼
class Solution {
public:
string addStrings(string num1, string num2) {
string res="";
int flag=0;
int i = num1.size() - 1, j = num2.size() - 1;
while(i>=0 || j>=0){
int c;
if(i<0) c = num2[j] - '0' + flag;
if(j<0) c = num1[i] - '0' + flag;
if(i>=0 && j>=0) c = num1[i] - '0' + num2[j] - '0' + flag;
flag = c / 10;
c %= 10;
res = to_string(c) + res;
i--;
j--;
}
if(flag) res = to_string(flag) + res;
return res;
}
};