hgq's docs
主页
ES6-阮一峰 (opens new window)
Vue文档 (opens new window)
Axios文档 (opens new window)
Vue Router (opens new window)
Vuex文档 (opens new window)
面试题-Vue (opens new window)
面试题-JS (opens new window)

guoguoqiqi

漫不经心的向往
主页
ES6-阮一峰 (opens new window)
Vue文档 (opens new window)
Axios文档 (opens new window)
Vue Router (opens new window)
Vuex文档 (opens new window)
面试题-Vue (opens new window)
面试题-JS (opens new window)
  • 反转链表
  • 无重复字符的最长子串
  • LRU 缓存
  • 数组中的第K个最大元素
  • K个一组翻转链表
  • 三数之和
  • 手撕快速排序
  • 最大子数组和
  • 两数之和
  • 合并两个有序链表
  • 环形链表
  • 二叉树的层序遍历
  • 买卖股票的最佳时机
  • 二叉树的锯齿形层序遍历
  • 相交链表
  • 有效的括号
  • 二叉树的最近公共祖先
  • 合并两个有序数组
  • 搜索旋转排序数组
  • 最长回文子串
  • 岛屿的数量
  • 全排列
  • 字符串相加
  • 高频算法题
guoguoqiqi
2022-03-21

字符串相加

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

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

示例 1:

输入:num1 = "11", num2 = "123"
输出:"134"
1
2
/**
 * @param {string} num1
 * @param {string} num2
 * @return {string}
 */
var addStrings = function(num1, num2) {
    const arr1 = num1.split("")
    const arr2 = num2.split("")
    const arr3 = []

    let i1 = arr1.length - 1
    let i2 = arr2.length - 1
    let mod = 0

    while(i1 >=0 || i2 >= 0) {
        let curr1 = arr1[i1] ? Number(arr1[i1]) : 0
        let curr2 = arr2[i2] ? Number(arr2[i2]) : 0


        let sum = curr1 + curr2 + mod
        mod = sum >= 10 ? 1 : 0

        arr3.unshift(sum%10)

        i1--
        i2--
    }

    if(mod !== 0) arr3.unshift(mod)

    return arr3.join("")
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-strings

← 全排列

最近更新
01
vuex数据持久化怎么做
05-22
02
vue的动态路由怎么配置使用
05-22
03
vue权限控制一般怎么做
05-22
更多文章>
Theme by Vdoing | Copyright © 2022-2022 Guoquoqiqi | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式