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

免费建站微信人才招聘网站开发 源代码

免费建站微信,人才招聘网站开发 源代码,欧模网室内设计效果图,跨境电商网站建设流程图两数相加#xff1a;链表表示的逆序整数求和 在这篇技术博客中#xff0c;我们将讨论一个力扣#xff08;LeetCode#xff09;上的编程题目#xff1a;两数相加。这个问题要求我们处理两个非空链表#xff0c;它们表示两个非负整数。每个链表中的数字都是逆序存储的链表表示的逆序整数求和 在这篇技术博客中我们将讨论一个力扣LeetCode上的编程题目两数相加。这个问题要求我们处理两个非空链表它们表示两个非负整数。每个链表中的数字都是逆序存储的我们需要将这两个整数相加并以相同的形式返回一个表示和的链表。 题目描述 给你两个非空的链表表示两个非负的整数。它们每位数字都是按照逆序的方式存储的并且每个节点只能存储一位数字。 请你将两个数相加并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外这两个数都不会以 0 开头。 示例 示例 1 输入l1 , l2 输出 解释342 465 807. 示例 2 输入l1 , l2 输出 示例 3 输入l1 , l2 输出[8,9,9,9, 每个链表中的节点数在范围 [1, 100] 内0 Node.val 9题目数据保证列表表示的数字不含前导零 解题思路 为了解决这个问题我们可以模拟整数加法的过程。首先我们需要从两个链表的头节点开始将它们的值相加然后考虑进位。接下来我们将两个链表的指针向后移动并重复这个过程直到到达链表的尾部。如果在链表的尾部仍然有进位我们需要添加一个新的节点来存储这个进位。 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) - Optional[ListNode]:res ListNode() t rest.val (l1.val l2.val) % 10temp (l1.val l2.val) // 10while l1.next or l2.next:t.next ListNode()t t.nextif l1.next and l2.next:l1 l1.nextl2 l2.nextt.val (l1.val l2.val temp) % 10temp (l1.val l2.val temp) // 10elif l1.next and not l2.next:l1 l1.nextt.val (l1.val temp) % 10temp (l1.val temp) // 10elif l2.next and not l1.next:l2 l2.nextt.val (l2.val temp) % 10temp (temp l2.val) // 10if temp:t.next ListNode(temp)return res代码提炼简化 关键的优化点以及如何从原始代码逐步转换为优化后的代码 统一处理循环条件原始代码中我们需要在循环内部分别处理 l1 和 l2 的情况。优化后的代码将这些条件合并到一个循环中使得代码更简洁。我们使用 l1 or l2 or carry 作为循环条件这样可以确保在两个链表都遍历完且无进位时才退出循环。 简化值获取在原始代码中我们需要在循环内部分别获取 l1 和 l2 的值。优化后的代码通过使用 val1 l1.val if l1 else 0 和 val2 l2.val if l2 else 0 来简化值的获取。这样我们可以在一行代码中处理 l1 和 l2 是否存在的情况避免了额外的条件判断。 简化进位处理原始代码中我们需要在循环内部分别计算和更新进位值。优化后的代码将进位处理逻辑简化为 carry total // 10。这样我们可以在一行代码中更新进位值避免了额外的条件判断。 简化链表节点创建原始代码中我们需要在循环内部分别创建新的链表节点。优化后的代码通过使用 t.next ListNode(total % 10) 来简化链表节点的创建。这样我们可以在一行代码中创建新的链表节点避免了额外的条件判断。 简化链表遍历在原始代码中我们需要在循环内部分别更新 l1 和 l2。优化后的代码通过使用 l1 l1.next if l1 else None 和 l2 l2.next if l2 else None 来简化链表的遍历。这样我们可以在一行代码中处理 l1 和 l2 是否存在的情况避免了额外的条件判断。 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) - Optional[ListNode]:res ListNode()t rescarry 0while l1 or l2 or carry:if l1:val1 l1.vall1 l1.nextelse:val1 0if l2:val2 l2.vall2 l2.nextelse:val2 0total val1 val2 carrycarry total // 10t.next ListNode(total % 10)t t.nextreturn res.next总结 这个问题是一个很好的链表操作练习可以帮助我们熟悉链表的基本操作和加法运算的处理。
http://www.dnsts.com.cn/news/26928.html

相关文章:

  • 工体网站建设公司WordPress移除顶部恢复
  • 申请个人网站建设wordpress 百度推送
  • 丽江旅游网站建设com域名是哪个国家的
  • 网站免费建站app企业园区网络设计方案
  • 找生产厂家的网站seo网站关键词优化多少钱
  • 网站建设常用编程语言黄骅贴吧二手房买卖
  • 中国建设银行春招网站建设网站有哪些好处
  • 无锡网站建设专注千客云网络邯郸信息港二手物品出售
  • 美仑-专门做服装的网站apache创建WordPress
  • 石家庄网站建设成功案例wordPress如何添加多文章页面
  • 南宁网站设计图wordpress主题盗取
  • 怎样让百度搜不到自己的网站淮南网站建设好
  • 上海企业建设网站做视频的免费软件有哪些
  • 学校网站建设计入哪个会计科目wordpress下载站源码
  • 长沙做网站要微联讯点很好卓老师建站特色功能
  • 石家庄市工程建设造价管理站网站路桥贝斯特做网站好吗
  • 广西莲城建设集团有限公司网站网站字体设计规范
  • 东营网站建设收益高软件设计师证书有用吗
  • 兰州网站移动端优化重庆酉阳网站设计公司
  • 友情链接交换工具做排名优化
  • 做网站建设价格导航网站的好处
  • 四川建设招标网站ip设计
  • 犀牛网站建设公司营销型网站建设公司哪家建设
  • 网站设计与网页配色差异基因做热图在线网站
  • 网站开发结构百度关键词优化工具
  • 网站研发流程市场调研报告包括哪些内容
  • 福州网站建设网站设计网站推广wordpress 微商城
  • 手机上的网站是怎么做的吗广告联盟
  • 站长推荐自动跳转导航入口vr软件开发前景
  • 域名抢住网站外贸网站建设怎么选