给定两个字符串形式的非负整数 num1
和num2
,计算它们的和。
注意:
num1
和num2
的长度都小于 5100.num1
和num2
都只包含数字0-9
.num1
和num2
都不包含任何前导零。- 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
public string AddStrings(string num1, string num2) {
StringBuilder sb = new StringBuilder();
int i = num1.Length - 1;
int j = num2.Length - 1;
int carry = 0;
while (i>=0||j>=0)
{
int n1 = i >= 0 ? num1[i] - '0' : 0;
int n2 = j >= 0 ? num2[j] - '0' : 0;
int tep = n1 + n2 + carry;
carry = tep / 10;
sb.Append(tep % 10);
i--;j--;
}
if (carry == 1) sb.Append(1);
string res = sb.ToString();
char[] c = res.ToCharArray();
Array.Reverse(c);
return new string(c);
}