大数加法:即运算的数据可能很大,int、long、long long无法存放,存在字符串中,但是加法的运算规则还是10进制。
对于两个字符串,首先判断两者的长度,我们将字符串s设置为较长的字符串,方便后面的运算(也可以将t设置为较长的)。
从低位开始逐字符取出转换为整数num1和num2,当较短的已经取完则置num2为0;然后进行加法运算(记得加上进位flag),运算过程中用flag表示是否存在进位,结果对10求整就是进位结果,对10取余得到当前位置的结果,赋值给s当前位置,直到运算完毕。
最后需要注意的是,最高位是否存在进位,即判断循环结束后的flag值,若是等于1,则产生进位,在运算结果字符串s前拼接一个1即可,最后返回s即为所求结果。
(PS:对于其他进制的运算方法一样,只需要将标志位的计算方式变一下就行,比如8进制,则对8进行求整得到进位结果,取余就是当前位置的结果。)
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示