Add strings
大數相加,很快地想到從後面開始加,也想到長度不一樣時,做到短的開頭就不做
不過還有個技巧是短的做完後,就補 0 繼續做運算,程式碼會比較漂亮
public String addStrings(String num1, String num2) {
String res = "";
int p1 = num1.length()-1;
int p2 = num2.length()-1;
int carry = 0;
while (p1 >= 0 || p2 >= 0) {
int i1 = 0, i2 = 0;
if (p1 >= 0) {
i1 = num1.charAt(p1--) - '0';
} else if (p1 < 0) {
i1 = 0;
}
if (p2 >= 0) {
i2 = num2.charAt(p2--) - '0';
} else if (p2 < 0) {
i2 = 0;
}
int sum = i1 + i2 + carry;
res = (char)(sum % 10 + '0') + res;
carry = sum / 10;
}
return carry > 0 ? "1" + res : res;
}