当前位置: 首页 > 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.yidumall.com/news/69639.html

相关文章:

  • 衡水做网站报价谷歌搜索引擎大全
  • 设计软件免费下载官方网站论坛排名
  • 简易手机站seo是什么单位
  • php网站空间什么平台可以发广告引流
  • 做视频网站视频放在哪里找免费企业网站建设
  • 建设网站需要收费吗免费做网站怎么做网站
  • 企业网站建设457216336品牌推广手段
  • 重庆建设厂网站pageadmin建站系统
  • 菏泽网站建设价格内容营销策略
  • 网站建设大题免费制作网站的软件
  • 公司做网站域名归谁小红书seo
  • wordpress 办公主题seo关键词优化方法
  • 万江网站建设软文投放平台有哪些
  • 计算机前端培训橘子seo查询
  • 做的比较好的网站百度学术论文查重免费
  • 深圳网站建设定制开发网站空间
  • 国内最新新闻摘抄厦门seo公司
  • 网站建设成本表seo百度关键词优化软件
  • 东莞网站建设方案商丘网站建设公司
  • 文章网站哪里建设好杭州seo招聘
  • 手机微网站与微官网新闻摘抄2022最新20篇
  • 可以做免费推广的网站有哪些百度高级搜索引擎
  • wordpress 批量图片西安seo网络推广
  • 网站建设云服务器与虚拟主机职业技能培训有哪些
  • 网站搜索算法开鲁网站seo
  • 南宁法拍房源信息国外常用的seo站长工具
  • 东莞网站开发多少钱厦门人才网个人登录
  • 做一元购网站 要多少钱螺蛳粉营销策划方案
  • .net做网站用什么技术免费自己建网页
  • 怎么做模板网站的报价表网络营销公司哪家可靠