string solve(string s, string t) { string result=""; int flag=0;//进位标志 int i=s.length()-1,j=t.length()-1; while(i>=0||j>=0||flag) { int num=flag; if(i>=0) num+=s[i--]-'0'; if(j>=0) num+=t[j--]-'0'; if(num>9) { flag=1; num-=10; } else flag=0; result+='0'+num; } return reverse(result);; } string reverse(string a) { /*string tmp=""; for(int i=a.size()-1; i>=0; i--) tmp+=a[i]; return tmp;*/ int n=a.length(); for(int i=0; i<n/2; i++) { a[i]^=a[n-i-1]; a[n-i-1]^=a[i]; a[i]^=a[n-i-1]; } return a; } };
模拟普通加法