LeetCode-415.字符串相加

题目描述

给定两个字符串形式的非负整数 num1num2 ,计算它们的和并同样以字符串形式返回。

你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。

示例

1
2
输入:num1 = "11", num2 = "123"
输出:"134"

提示:

  • 1 <= num1.length, num2.length <= 104
  • num1num2 都只包含数字 0-9
  • num1num2 都不包含任何前导零

题解

注意string的API使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
func addStrings(_ num1: String, _ num2: String) -> String {
var carray = 0
var res = ""
var str1 = num1
var str2 = num2
while str1.count > 0 || str2.count > 0 || carray > 0 {
let t1 = str1.popLast() ?? "0"
let t2 = str2.popLast() ?? "0"
let sum = Int("\(t1)")! + Int("\(t2)")! + carray

res = "\(sum % 10)" + res
carray = sum / 10
}
return res
}