class Solution
{
public:string add_two_string(string num1,string num2)
{
string str;
int i=num1.length()-1,j=num2.length(),carry=0;
while(i>=0||j>=0)
{
int n1=i>=0?num1[i]:0;
int n2=j>=0?num2[j]:0;
int temp=n1+n2+carry;//同位加上一位进位数
carry=temp/10;//得到同位的进位数
str+=temp%10+'0';//加上同位数值
}
if(carry==1)str+='1';//最高位如果还有进位就加1
reverse(str.begin(),str.end());//翻转
retrun str;
}
}
大数加法数组模拟
最新推荐文章于 2022-11-27 18:46:54 发布