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

河北邢台做移动网站汕头新闻头条最新消息

河北邢台做移动网站,汕头新闻头条最新消息,河南郑州广告公司网站建设,企业网站建设与推广范文题目信息 源地址:两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字…

题目信息

源地址:两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

提示信息

示例 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]

提示

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

实现逻辑

结点累加

这道题目将两个链表结合成一个链表,比较清晰的思路就是,类似于四则运算中的加法,从个位往高位进行每一位相加,如果当前位的结果大于等于 10 时则需要在高位加 1。

解析到程序当中,既可以使用循环的方式,也可以使用递归的思维。循环的方式是将两个链表同步递增,而递归的方式是每次计算完一位时再对链表的下一个结点做递归处理。

通过循环的方式解决这个问题,时间复杂度是 O(n),空间复杂度也是 O(n),这里的 n 指的是最长的那个链表节点数。

 
package cn.fatedeity.algorithm.leetcode;
public class AddTwoNumbers {
public ListNode answer(ListNode l1, ListNode l2) {
ListNode result = new ListNode();
ListNode listNode = result;
boolean addOne = false;
while (l1 != null || l2 != null || addOne) {
int sum = 0;
if (l1 != null) {
sum += l1.val;
l1 = l1.next;
}
if (l2 != null) {
sum += l2.val;
l2 = l2.next;
}
if (addOne) {
sum += 1;
}
addOne = sum >= 10;
listNode.next = new ListNode(sum % 10);
listNode = listNode.next;
}
return result.next;
}
}
class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}

题目信息

源地址:两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

提示信息

示例 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]

提示

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

实现逻辑

结点累加

这道题目将两个链表结合成一个链表,比较清晰的思路就是,类似于四则运算中的加法,从个位往高位进行每一位相加,如果当前位的结果大于等于 10 时则需要在高位加 1。

解析到程序当中,既可以使用循环的方式,也可以使用递归的思维。循环的方式是将两个链表同步递增,而递归的方式是每次计算完一位时再对链表的下一个结点做递归处理。

通过循环的方式解决这个问题,时间复杂度是 O(n),空间复杂度也是 O(n),这里的 n 指的是最长的那个链表节点数。

 
package cn.fatedeity.algorithm.leetcode;
public class AddTwoNumbers {
public ListNode answer(ListNode l1, ListNode l2) {
ListNode result = new ListNode();
ListNode listNode = result;
boolean addOne = false;
while (l1 != null || l2 != null || addOne) {
int sum = 0;
if (l1 != null) {
sum += l1.val;
l1 = l1.next;
}
if (l2 != null) {
sum += l2.val;
l2 = l2.next;
}
if (addOne) {
sum += 1;
}
addOne = sum >= 10;
listNode.next = new ListNode(sum % 10);
listNode = listNode.next;
}
return result.next;
}
}
class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}

 

 

http://www.yayakq.cn/news/925063/

相关文章:

  • 株洲企业网站建设工作室开平网络推广
  • 网站建设代码出现乱码微信营销平台源码下载
  • 上海婚纱网站设计建设购物网站流程图
  • 天河网站建设哪个好wordpress创建页面左侧导航栏
  • 有效的网站建设微信商户平台登录入口
  • seo百家外链网站vi设计品牌案例ppt
  • 最专业的seo公司重庆自动seo
  • 长沙企业建站方案医疗生物科技 网站建设
  • 一般网站建设步骤淮安市建设工程初级职称申报网站
  • 高端手机网站 制作公司WordPress自己安装了插件
  • 站内推广策略怎么做网站百度经验
  • 推广网站哪个好wap网页游戏
  • 小白网站建设建设网站需要租服务器吗
  • 网站优化有哪些方法天元建设集团有限公司招聘信息
  • 女鞋网站建设策划方案汕头教育的网站建设
  • 合肥网络推广技巧长沙优化网站技巧
  • 如何查询网站备案时间查询wordpress 弹幕插件
  • 陕西咸阳网站建设招商加盟的网站应该怎么做
  • 做flash的网站网页设计公司经营范围
  • 电商网站建设心得体会青岛网站推广招商
  • 改号宝网站搭建做网站.net和php哪个简单
  • 网站网站代理怎么做的水果销售网站模板
  • 泉州公司网站模板建站学生网页设计主题推荐
  • 凡客优品家居官方网站资深品牌策划公司
  • 网站运营管理教材西安php网站制作
  • 企业网站建设 南通晋江市建设招投标网站
  • 如何做自己的小说网站dede程序网站如何查看百度蜘蛛
  • 做章网站wordpress数据库主机
  • 国内做网站费用单人做网站需要掌握哪些知识
  • 高校门户网站建设问题汇通网做期货的网站做期货的网站