就是一个进位的问题,大于10就进一位。
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算两个数之和 * @param s string字符串 表示第一个整数 * @param t string字符串 表示第二个整数 * @return string字符串 */ string solve(string s, string t) { // write code here bool hasOne = false; int n = min(s.length(), t.length()); int m = max(s.length(), t.length()); string tall,small; if(s.length() >= t.length()){ tall = s; small = t; }else{ tall = t; small = s; } for(int i=0;i<m;i++){ int num = tall[m-i-1]-'0'; if(i < n){ num += (small[n-i-1]-'0'); } if(hasOne){ num += 1; hasOne = false; } if(num >= 10){ hasOne = true; num = num % 10; } tall[m-i-1] = '0'+num; } if(hasOne){ tall = "1" + tall; } return tall; } };