请选择 进入手机版 | 继续访问电脑版

JavaScript实现-LeetCode刷题-【 两数相加】-第2题!!!

[复制链接]
世上人间 发表于 2021-1-1 18:32:21 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
题目:

LeetCode题目链接
题目截图:


解题步调:

  1. 1.新建一个空链表2.遍历被相加的两个链表,模仿相加操纵,将个位数追加到新链表上,将十位数留到下一位去相加
复制代码
代码:

  1. /** * Definition for singly-linked list. * function ListNode(val, next) { *     this.val = (val===undefined ? 0 : val) *     this.next = (next===undefined ? null : next) * } *//** * @param {ListNode} l1 * @param {ListNode} l2 * @return {ListNode} */var addTwoNumbers = function(l1, l2) {  const l3 = new ListNode(0);  let p1 = l1;  let p2 = l2;  let p3 = l3;  let carry = 0;   while (p1 || p2) {    const v1 = p1 ? p1.val : 0;    const v2 = p2 ? p2.val : 0;    const val = v1 + v2 + carry;    carry = Math.floor(val / 10);     // 进位值为0 大概 1    p3.next = new ListNode(val % 10);     if (p1) p1 = p1.next;     if (p2) p2 = p2.next;    p3 = p3.next;  }  if (carry) p3.next = new ListNode(carry);   return l3.next;};
复制代码
时间复杂度分析:

  1. 时间复杂度是O(n),n指的是两个链表中较长的长度
复制代码
空间复杂度分析:

  1. 空间复杂度是O(n)
复制代码
怎么样,是不是很简朴,你学会了吗?


<strong>如果这篇文章可以大概资助到您,希望您不要怜惜点赞
来源:https://blog.csdn.net/weixin_44586544/article/details/112054838
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )