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

郓城微信网站建设视频类网站如何做缓存

郓城微信网站建设,视频类网站如何做缓存,织梦网站仿站,wordpress悬浮工具给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开…

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

在这里插入图片描述
输入: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]

提示:

每个链表中的节点数在范围 [1, 100] 内
0 <= Node.val <= 9
题目数据保证列表表示的数字不含前导零

开篇思路(半错误思路):

以为把两个链表数相加,然后再一个个取出来放到链表里面就行了,没想到超int,long的范围…

思路:

首先判断两个链表哪个长,然后按照长的循环,短的循环完了以后就不用继续循环了
然后两个数相加容易进位(>=10),所以next 用于存储进位数,然后sum用于统计两个链表数和next相加
然后就是取整,取余的过程,最后可能存在next进位,所以需要判断是否为0
最后再倒序存一遍就行了

初步结题:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {int len = 0, len2 = 0;ListNode nodes = null;ListNode t1 = l1,t2 = l2;//判断 哪个链表比较长while (t1 != null) {t1 = t1.next;len++;}while (t2 != null) {t2 = t2.next;len2++;}int next = 0;if (len >= len2){for (int i = 0 ; i < len ; i++){if (l2 != null){int sum = l1.val + l2.val + next;next = sum / 10;int now = sum % 10;nodes = addL(nodes,now);l2 = l2.next ;} else {int sum = l1.val + next;next = sum / 10;int now = sum % 10;nodes = addL(nodes,now);}l1 = l1.next ;}}else {for (int i = 0 ; i < len2 ; i++){if (l1 != null ){int sum = l1.val + l2.val + next;next = sum / 10;int now = sum % 10;nodes = addL(nodes,now);l1 = l1.next ;} else {int sum = l2.val + next;next = sum / 10;int now = sum % 10;nodes = addL(nodes,now);}l2 = l2.next ;}}//最后超范围 如果最后一位是9,需要进一位if (next != 0){nodes = addL(nodes,next);}//反着存一遍ListNode nodesLast = null;//判断 哪个链表比较长while (nodes != null) {nodesLast = addL(nodesLast,nodes.val);nodes = nodes.next;}return nodesLast;}private ListNode addL(ListNode next,int val){if (next == null) {next = new ListNode(val);} else {next = new ListNode(val, next);}return next;}
}

加深: 后续感觉遍历的时候可以优化循环判断,写那么多for循环重复代码太多

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode nodes = null;int tree = 0;while (l1 != null || l2 != null){int c1 = l1 != null ? l1.val : 0;int c2 = l2 != null ? l2.val : 0;int sum = c1 + c2 + tree;tree = sum / 10;int now = sum % 10;nodes = addL(nodes,now);l1 = l1 != null ? l1.next : null;l2 = l2 != null ? l2.next : null;}//最后超范围 如果最后一位是9,需要进一位if (tree != 0){nodes = addL(nodes,tree);}//反着存一遍ListNode nodesLast = null;//判断 哪个链表比较长while (nodes != null) {nodesLast = addL(nodesLast,nodes.val);nodes = nodes.next;}return nodesLast;}private ListNode addL(ListNode next,int val){if (next == null) {next = new ListNode(val);} else {next = new ListNode(val, next);}return next;}
}
http://www.yayakq.cn/news/244646/

相关文章:

  • 制作响应式网站报价有哪些做淘宝素材的网站
  • 模板建站哪里有淘宝seo是什么意思啊
  • 祥云平台英文网站网站开发python
  • 洋县住房和城乡建设管理局网站制作网站好的公司
  • 图片网站 模板wordpress post 模板
  • 上海网站建设 乐云seo做网站的公司成都
  • com网站注册域名网站开发维护入哪个科目
  • 百度站长平台wordpress怎么上传电影
  • 北京礼品网站建设网站开发税目编码
  • 公司做网站合同电子商务公司的名字
  • 泰州谁会建网站有关做详情页的参考网站
  • 网站登录密码忘记怎么办网页版qq邮箱登录
  • 站长工具综合查询系统走廊文化建设图片网站
  • 漯河网站关键词优化高端网站开发案例展示
  • 泉州安全教育平台seo是哪个英文的缩写
  • 绍兴做微网站互联网官网
  • 个人网站介绍模板下载广州seo和网络推广
  • 一流的商城网站建设做字典网站开发
  • 设计师常用网站河北省建设厅网站重新安装
  • 为了 门户网站建设订单网站模板
  • 太原网络营销网站建设企业网站管理系统目的
  • 玩具租赁系统网站开发与实现wordpress制作侧面悬浮图标
  • 苏州企业网站建设制作方案查企业信息查询平台哪个好
  • 国内网站建设 必须实名认证网站网上商城建设
  • 建站工具模板做影视网站版权问题
  • 常州建设工程电子审图网站骨骼型的网站
  • 织梦电影网站免费模板贵州省网站集约化建设
  • 公司的网站建设费做什么费用可以做旅行计划的网站
  • 福州高端网站制作呼市互联网公司排名
  • 营销型网站易网拓二手网站建设