Given two non-negative integers num1
and num2
represented as string, return the sum of num1
and num2
.
Note:
- The length of both
num1
andnum2
is < 5100. - Both
num1
andnum2
contains only digits0-9
. - Both
num1
andnum2
does not contain any leading zero. - You must not use any built-in BigInteger library or convert the inputs to integer directly.
法1:这题和67.add ninary简直一模一样 想法还是通过从最后一位开始,每一位相加,进位标志为sum/10
class Solution { public: string addStrings(string num1, string num2) { int na =num1.size()-1; int nb=num2.size()-1; string res=""; int crazy=0; while (na>=0||nb>=0) { int p=na>=0? num1[na--]-'0':0;//类似前面不够位的补0 int q=nb>=0? num2[nb--]-'0':0; int sum=p+q+crazy; res=to_string (sum%10)+res; crazy=sum/10; } return crazy!=0?to_string (crazy)+res:res ; } };