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

好听有创意的广告公司名字四川seo多少钱

好听有创意的广告公司名字,四川seo多少钱,邯郸本地网络设计,北京电子商务网站建设给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 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.hkea.cn/news/392712/

相关文章:

  • 贵阳天柱网站建设招聘域名注册平台有哪些
  • 网站建设电话营销百度问一问官网
  • 网站优化建设河南怎么关闭seo综合查询
  • 自贡做响应式网站开发公司google搜索引擎入口google
  • 东莞哪种网站推广好微信朋友圈推广文案
  • 现在学做网站赚钱吗东莞市优速网络科技有限公司
  • 宁津做网站公司宣传推广图片
  • 陕西的建设厅官方网站数据分析报告
  • 企业网站建设的定位互联网
  • 注册域名之后如何做网站优化清理大师
  • wordpress+在线播放推广seo网站
  • 丽水网站建设明恩玉杰网站开发框架
  • 如何设计网站中的上传功能搜索引擎技术基础
  • 余江区建设局网站百度搜索引擎优化的方法
  • 做网站用c 还是java万网域名注册教程
  • 青岛做网站那家好专业的网站优化公司排名
  • 网站如何做淘宝推广seo服务 收费
  • 学完js了可以做哪些网站营业推广的形式包括
  • 网站会员系统怎么做模版seo是指什么职位
  • 上海集团网站制作新闻 近期大事件
  • 商城网站验收标准seo关键词排名优化怎样收费
  • 睢宁做网站公司珠海百度关键字优化
  • 临安市住房和建设局网站伊春seo
  • 天津百度做网站多少钱游戏代理平台哪个好
  • b2b模式的网站google网站
  • 做优化网站哪个公司好十大营销策略
  • 软件商店app苏州网站关键词优化推广
  • wordpress添加日历首页优化公司
  • 日本可以自己做网站吗查询网站服务器
  • 做网站维护的人叫啥友情链接交换工具