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

江西通威公路建设集团有限公司网站微营销平台

江西通威公路建设集团有限公司网站,微营销平台,非诚勿扰吴铮真帮做网站的男人,网页设计的背景与意义两数相加(medium) 题目描述 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储 一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数…

两数相加(medium)

题目描述

  • 给你两个非空的链表,表示两个非负的整数。
  • 它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储 一位数字。
  • 请你将两个数相加,并以相同形式返回一个表示和的链表。
  • 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
  • 注意点:
    • 每个链表中的节点数在范围 [1, 100] 内。
    • 0 <= Node.val <= 9。
    • 题目数据保证列表表示的数字不含前导零。

举例说明

  • 示例 1:
    • 输入:l1 = [2,4,3], l2 = [5,6,4]
    • 输出:[7,0,8]
    • 解释:342 + 465 = 807.
  • 示例 2:
    • 输入:l1 = [0], l2 = [0]
    • 输出:[0]
  • 示例 3:
    • 输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
    • 输出:[8,9,9,9,0,0,0,1]

面试解法

  • 关键词
    • 预先指针
    • 短链表补零
  • 思路
    • 对于链表问题,返回结果为头结点时,通常需要先初始化一个预先指针 pre,该指针的下一个节点指向真正的头结点 head。
    • 使用预先指针的目的在于链表初始化时无可用节点值,而且链表构造过程需要指针移动,进而会导致头指针丢失,无法返回结果。
    • 将两个链表看成是相同长度的进行遍历,如果一个链表较短则在前面补 0,比如 987 + 23 = 987 + 023 = 1010;
    • 每一位计算的同时需要考虑上一位的进位问题,而当前位计算结束后同样需要更新进位值;
    • 如果两个链表全部遍历完毕后,进位值为 1,则在新链表最前方添加节点 1。
  • 复杂度
    • 时间复杂度:O(max(m,n)),其中 m 和 n 分别为两个链表的长度,因为需要遍历两个链表的全部位置,而处理每个位置只需要 O(1) 的时间。
    • 空间复杂度:O(1),注意返回值不计入空间复杂度。
  • 代码
    class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {/** 设立预先指针和遍历指针,初始进位值为 0*/ListNode pre = new ListNode(0);ListNode cur = pre;int carry = 0;while (l1 != null || l2 != null) {/** 在短链表末尾虚拟添加 0,使得两个链表等长*/int value1 = l1 == null ? 0 : l1.val;int value2 = l2 == null ? 0 : l2.val;int sum = value1 + value2 + carry;/** 更新进位值并将遍历指针后移*/carry = sum / 10;sum %= 10;cur.next = new ListNode(sum);cur = cur.next;/** 将链表指针后移*/if (l1 != null) {l1 = l1.next;}if (l2 != null) {l2 = l2.next;}}/** 处理最后产生进位的问题 */if (carry == 1) {cur.next = new ListNode(1);}return pre.next;}
    }
    
http://www.ds6.com.cn/news/97424.html

相关文章:

  • 免费html网页模板素材网站百度网盘电脑网页版
  • 影视文化网站建设安徽网站推广
  • 苹果树下网站谁设计的互联网营销推广
  • xml网站地图怎么做快手作品免费推广软件
  • 网站建设方案wordseo视频教程
  • 2015微信网站亚马逊的免费网站
  • 营销管理咨询廊坊网站建设优化
  • 网站建设案例资讯网站创建的流程是什么
  • ui设计和前端开发哪个好关键词seo优化公司
  • 网站建设了解今天最新新闻摘抄
  • 淄博企业网站建设哪家专业seo网站怎么搭建
  • 做游戏网站用什么软件佛山关键词排名效果
  • 上海平台网站建设公搜索引擎查重
  • 逆袭做富豪官方网站爱站小工具
  • 信融网站建设网站开发ui设计公司
  • html5网站开发案例视频app开发软件
  • 献县做网站价格环球网最新消息
  • 企业网络搭建教程石家庄整站优化技术
  • 政府门户网站建设管理情况汇报seo智能优化
  • 江宁网站建设案例超级外链工具 增加外链中
  • html如何做阿拉伯网站网络营销与管理
  • oppo开放平台seo网上培训课程
  • 做检测设备的网站有哪些软件定制开发
  • 公司百度网站怎么做google翻译
  • 企业怎么样上各大网站做宣传福州短视频seo服务
  • wordpress 代购主题seo网站优化是什么
  • 做小程序好还是做微网站好google关键词搜索量
  • metro 导航网站平台搭建
  • 企业网站流量最佳的搜索引擎
  • 电子商城网站建议书松原头条新闻今日新闻最新