javasript两个数组元素分别相加
发表于:2021-08-23 09:36:27浏览:1609次
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例 1:
输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807
示例2:
输入:l1 = [0], l2 = [0] 输出:[0] 解释:0 + 0= 0
示例3:
输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9] 输出:[8,9,9,9,0,0,0,1] 解释:9999999 + 9999= 89990001
解法:
function sum(a,b,c){ let d=a+b+c; if(d>9){ let e=d%10; return [1,e]; } else{ return [d]; } } function add(len1,len2){ let i=0,j=0,sumArray = [],addOne=0; if(len1.length<len2.length){ i=len1; j=len2; }else{ i=len2; j=len1; } for(let m=0;m<j.length;m++){ let a=0; let b=j[m]; if(m<i.length){ a=i[m]; } let k=sum(a,b,addOne); if(k.length>1){ addOne=1; sumArray.push(k[1]); } else{ sumK=0; sumArray.push(k[0]); } if(m==j.length-1 && addOne==1){ sumArray.push(1); } } console.log(sumArray); } //add([2,4,3],[5,6,4]);//[7,0,8] //add([0],[0]);//[0] add([9,9,9,9,9,9,9],[9,9,9,9]);//[89990001]
推荐文章
- 开源的 OA 办公系统 —— 勾股 OA3.7.22 新版发布
- ThinkPHP 6.1.2 版本发布,兼容 PHP8.2以及对ThinkORM3.0 版本的支持
- 尝鲜,Windows 11默认壁纸下载,4K分辨率哦
- 8个项目必备的JavaScript代码片段,建议加入到项目中
- 微信淘宝实现互通?有关部门开始要求即时通信软件解除屏蔽网址链接,公平竞争
- javascript的遍历方法forEach和map的区别
- 利用微软的Office Online实现Office文档在线预览功能
- uniapp中webview支持history.back的方法
- Gitee内的开源项目的指数是如何计算的?
- IE11将停用并停止支持,此后IE正式谢幕,Edge接棒