题解 | #大数加法#
大数加法
http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
解题思路:
双尾指针法:两个尾指针分别指向s,t的最后一个字符
注意点:进位要么是1要么是0
代码:
function add (s, t) {
let sp = s.length-1
let tp = t.length-1
let resArr = []
let p = 0
let sum = 0
while (sp >= 0 || tp >=0 || p!== 0) {
let sV = sp >= 0 ? s[sp] - 0 : 0
let tV = tp >= 0 ? t[tp] - 0 : 0
sum = sV + tV + p
resArr.unshift(sum % 10)
p = sum >= 10 ? 1 : 0
sp--
tp--
}
return resArr.join("")
}