当前位置: 首页 > news >正文

网站开发项目安排微信公众号登录平台登录

网站开发项目安排,微信公众号登录平台登录,上海浦东网站设计公司,电商平台入驻题目是:给两个非空的链表,表示两个非负整数。它们每位数都是按照逆序的方式存储,并且每一个节点只能存储一位数字。现在两个数相加,并且以相同的形式返回一个表示和的链表。 首先回顾一下,什么是链表?链表…

题目是:给两个非空的链表,表示两个非负整数。它们每位数都是按照逆序的方式存储,并且每一个节点只能存储一位数字。现在两个数相加,并且以相同的形式返回一个表示和的链表

首先回顾一下,什么是链表?链表是一种数据结构,由一系列的节点组成,每一个节点有两个部分:一部分是存储数据元素,一部分是存储下一个节点地址的指针。

在解答这个题目过程中还运用到进位,进位是一种运算形式,加法运算中,每一数位上的数相加满十,则用一个高位上的数记其和1

既然是链表运算,就先定义一个链表节点的构造函数:

 class ListNode {constructor(val, next = null) {this.val = val;this.next = next;}
}

在运算的函数里面,首先要定义一个头节点:

let Head = new ListNode(0);

定义一个表示当前节点的变量:

let current = Head;

进位标志为:

let carry = 0;

遍历链表:

while (l1 !== null || l2 !== null) { // 当两个链表中任意一个不为空时继续循环let n1 = l1 === null ? 0 : l1.val; // 若l1为空,则取值为0let n2 = l2 === null ? 0 : l2.val; // 若l2为空,则取值为0let sum = n1 + n2 + carry; // 计算当前位和进位之和carry = Math.floor(sum / 10); // 计算新的进位current.next = new ListNode(sum % 10); // 创建新节点,并设置其值为和除以10的余数current = current.next; // 移动到下一个节点if (l1 !== null) l1 = l1.next; // 移动l1指针if (l2 !== null) l2 = l2.next; // 移动l2指针}

如果进位标志大于0,那就在链表后面添加一个新的节点:

  if (carry > 0) {current.next = new ListNode(carry);}

最后返回链表。

完整代码如下:

class ListNode {constructor(val, next = null) {this.val = val;this.next = next;}
}/*** @param {ListNode} l1* @param {ListNode} l2* @return {ListNode}*/
var addTwoNumbers = function(l1, l2) {
let dummyHead = new ListNode(0); // 创建一个虚拟头节点let current = dummyHead; // 当前节点指针,初始指向虚拟头节点let carry = 0; // 进位标志while (l1 !== null || l2 !== null) { // 当两个链表中任意一个不为空时继续循环let n1 = l1 === null ? 0 : l1.val; // 若l1为空,则取值为0let n2 = l2 === null ? 0 : l2.val; // 若l2为空,则取值为0let sum = n1 + n2 + carry; // 计算当前位和进位之和carry = Math.floor(sum / 10); // 计算新的进位current.next = new ListNode(sum % 10); // 创建新节点,并设置其值为和除以10的余数current = current.next; // 移动到下一个节点if (l1 !== null) l1 = l1.next; // 移动l1指针if (l2 !== null) l2 = l2.next; // 移动l2指针}// 如果最后还有进位,则在链表末尾添加一个新的节点表示这个进位if (carry > 0) {current.next = new ListNode(carry);}return dummyHead.next;
};
http://www.yayakq.cn/news/851625/

相关文章:

  • 怎么做移动网站吗定制网站设计
  • 酒泉网站建设平台谷歌有做网站建设
  • 完成网站建设的心得体会网站后缀net
  • 做网站一般用什么软件河南商丘网站
  • 能看网站的浏览器招聘网站开发源代码
  • 广州市网站建设报价51ppt模板网原创ppt模板
  • 如何做网站关键词排名宁波企业做网站哪家好
  • 怎么建网站 做app软件网站导航网址大全
  • 内涵网站源码wordpress动漫博客主题
  • 平湖网站制作在线 crm
  • 福州门户网站建设专业的深圳网站建设
  • 入门网站建设内容相同的 网站
  • 软件网站开发培训如何百度搜索到自己的网站
  • 辽源市住房和城乡建设局网站网页和网站的区别和联系
  • 301网站跳转设置室内装修设计需要学哪些东西
  • 泰国做网站wordpress删除未分类
  • 广州做网站做得比较好毕业设计代做网站jsp
  • 网站开发文档合同wordpress自动转二维码
  • 人和兽做的网站视频logo素材
  • 网站被黑应该怎么做汉中网站建设公司推荐
  • 制作模板网站重庆做学校网站公司
  • 做网站要偶数做我女朋友好不好套路网站
  • 做的网站打开显示无标题商务网站开发代码
  • 用织梦网站后台发布文章为什么还需要审核wordpress qq微信登陆地址修改
  • 网站栏目内链怎么做卖手机网站开发的必要性
  • 那个网站做玉石最专业网站建设昆明包装设计
  • 给甜品网站做seo网络营销课程教案
  • 网站推广方案设计方案门户网站建设服务报价
  • 项目宣传推广方案郑州seo推广外包
  • 怎样创作一个网站宿州哪家做网站不做