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

衢州别墅设计工程师seo免费课程

衢州别墅设计工程师,seo免费课程,赣州网站建设jx25,广州网页设计价格题目描述 解题思路 题目说的很详细了,也就是把每个数倒序写成链表进行输入,然后让你计算两个倒序数组的和,要保证跟预期的结果一样。 首先应该考虑的是两个数组的长度问题,对于链表的每一位进行加法运算,如果两个列表…

题目描述

在这里插入图片描述

解题思路

题目说的很详细了,也就是把每个数倒序写成链表进行输入,然后让你计算两个倒序数组的和,要保证跟预期的结果一样。

首先应该考虑的是两个数组的长度问题,对于链表的每一位进行加法运算,如果两个列表长度不一致,那么就需要在短的列表后面补零,然后再进行加法运算。

然后就是进位问题,对于每一位的加法运算,都需要考虑进位问题,也就是如果当前位的和大于等于10,那么就需要进位,然后在下一位的加法运算中加上进位。这是这题的难点。

最后就是链表这一数据结构本身的要求,链表只能通过指针遍历来访问每一个节点,所以需要注意指针的指向。

开始手搓!

题目已经给了链表的定义,所以我们可以直接使用这个数据结构。题目给出的的定义如下:

Definition for singly-linked list.
class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = next

根据定义,我们可以通过.val获取指针所指向节点的值,通过.next获取指针所指向节点的下一个节点。

最后解题

我们可以定义一个新的链表,保存最后的运算结果;定义一个变量保存进位的值;然后通过判断链表是否结束,进行加法运算来确定新链表最新位的值和下一次的进位的值。

然后链表的指针和新链表的指针全部后移,继续循环。如果循环结束后进位不为0,那么就需要在新链表的末尾加上一个值为1的节点。

最后返回新链表的头节点。

class Solution:def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]:res = cur = ListNode()adder = 0while l1 or l2:num1 = l1.val if l1 else 0num2 = l2.val if l2 else 0cur.next = ListNode((num1+num2+adder)%10)adder = (num1+num2+adder)//10cur = cur.nextif l1: l1 = l1.nextif l2: l2 = l2.nextif adder: cur.next = ListNode(1)return res.next

尝试提交,通过,时间复杂度为O(Max(N,M)),其中N M为两个链表的长度。

在这里插入图片描述

http://www.dtcms.com/wzjs/286059.html

相关文章:

  • wordpress自带主题下载失败合肥seo推广培训班
  • 男的和女的做那种短视频网站有什么公司要做推广的
  • 南江红鱼洞水库建设管理局网站南京百度seo排名优化
  • 山东网站制作北京优化推广
  • 设计素材网站哪个最好用搜索指数查询
  • 网站建设补充协议范本平台推广费用一般是多少
  • 做招聘网站毕业设计百度客户端手机版
  • 济南手工网站建设免费宣传网站
  • 建免费的网站吗网站快速收录
  • axure做购物网站大数据分析网站
  • 手机网站优势烘焙甜点培训学校
  • 网站建设运营预算明细seo查询工具有哪些
  • 网站建设 通讯员最近一周国内热点新闻
  • 公司申请网站建设申请理由发布软文广告
  • 青岛做门户网站公司哪里搜索引擎优化好
  • 织梦的官方网站北京正规seo搜索引擎优化价格
  • 怎么给网站做超链接百度导航如何设置公司地址
  • 怎么把asp网站改成php域名注册 万网
  • 做艺术品拍卖的网站百度推广落地页
  • 鹤壁网站建设中国推广网
  • 网站初期做几个比较好色盲测试图片60张
  • 静海网站建设微信小程序开发费用一览表
  • 怎么做的360网站打不开百度推广一年多少钱
  • 会计上网站建设做什么费用磁力帝
  • 长春建站模板评测搜外友链
  • 亚马逊做超链接的网站百度主页面
  • 找论文的免费网站企业推广平台有哪些
  • php做的网站首页是什么文件软文发布平台排名
  • 广州专业网页制作seo网站排名推广
  • 电子商务平台网站建设方式沈阳网站建设公司