给定两个字符串形式的非负整数 num1
和num2
,计算它们的和并同样以字符串形式返回。
你不能使用任何內建的用于处理大整数的库(比如 BigInteger
), 也不能直接将输入的字符串转换为整数形式。
示例 1:
输入:num1 = "11", num2 = "123" 输出:"134"
示例 2:
输入:num1 = "456", num2 = "77" 输出:"533"
示例 3:
输入:num1 = "0", num2 = "0" 输出:"0"
def addStrings(num1: String, num2: String): String = {
var str = new StringBuffer()
var index1 = num1.length-1
var index2 = num2.length-1
var a = 0
while ( index1>=0 || index2>=0 || a!=0){
val x = if(index1>=0) num1.charAt(index1)-'0' else 0
val y = if(index2>=0) num2.charAt(index2)-'0' else 0
val res = x+y+a
str.append(res%10)
a = res / 10
index1 -=1
index2-=1
}
str.reverse().toString
}