Tcdian / keep

今天不想做,所以才去做。
MIT License
5 stars 1 forks source link

415. Add Strings #282

Open Tcdian opened 4 years ago

Tcdian commented 4 years ago

415. Add Strings

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。

Note

Tcdian commented 4 years ago

Solution

/**
 * @param {string} num1
 * @param {string} num2
 * @return {string}
 */
var addStrings = function(num1, num2) {
    const maxLen = num1.length > num2.length ? num1.length + 1 : num2.length + 1;
    num1 = num1.padStart(maxLen, '0');
    num2 = num2.padStart(maxLen, '0');
    let result = '';
    let curry = 0;
    for (let i = maxLen - 1; i >= 0; i--) {
        const sum = Number(num1[i]) + Number(num2[i]) + curry
        result = sum % 10 + result;
        curry = Math.floor(sum / 10);
    }
    let separator = 0;
    while(separator !== result.length - 1 && result[separator] === '0') {
        separator++;
    }
    return result.slice(separator);
};
function addStrings(num1: string, num2: string): string {
    const maxLen = num1.length > num2.length ? num1.length + 1 : num2.length + 1;
    num1 = num1.padStart(maxLen, '0');
    num2 = num2.padStart(maxLen, '0');
    let result = '';
    let curry = 0;
    for (let i = maxLen - 1; i >= 0; i--) {
        const sum = Number(num1[i]) + Number(num2[i]) + curry
        result = sum % 10 + result;
        curry = Math.floor(sum / 10);
    }
    let separator = 0;
    while(separator !== result.length - 1 && result[separator] === '0') {
        separator++;
    }
    return result.slice(separator);
};