沂濛的小站

  • 首页
  • Blog
    • 足球,终生为蓝
    • 随笔,记录点滴
    • 杂谈,感悟人生
    • 诗馀,品味生活
    • 围棋,坐隐棋枰
    • 影评,读书笔记
    • 杂烩,林林总总
    • 编程,码工细语
  • CBD围棋&双象俱乐部
沂濛的小站
  1. 首页
  2. 编程,码工细语
  3. 正文

两数相加

13 11 月, 2022 743点热度 0人点赞 0条评论

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

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

你可以假设除了数字 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
题目数据保证列表表示的数字不含前导零(from LeetCode)

 


本题关键在于进位和补零,我是用递归实现的。使用递归方法应避免NullPointerException异常。

/**
* 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 result=new ListNode();
int ones=0,tens=0;
add(ones,tens,l1,l2,result);
return result;
}
void add(int ones,int tens,ListNode l1,ListNode l2,ListNode result){
ones=l1.val+l2.val+tens;
if(ones&gt;=10){
ones=ones%10;
tens=1;
}else{
tens=0;
}
result.val=ones;
if(l1.next==null&amp;&amp;l2.next==null&amp;&amp;tens==0) return;
ListNode next1=(l1.next==null)?new ListNode():l1.next;
ListNode next2=(l2.next==null)?new ListNode():l2.next;
result.next=new ListNode();
add(ones,tens,next1,next2,result.next);
}
}//written by lvyimeng
标签: 暂无
最后更新:15 11 月, 2022

沂濛

爱好广泛的纽约小文艺

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论
归档
  • 2025 年 3 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 5 月
  • 2023 年 4 月
  • 2023 年 3 月
  • 2023 年 1 月
  • 2022 年 12 月
  • 2022 年 11 月
  • 2022 年 9 月
  • 2022 年 8 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 3 月
  • 2021 年 12 月
  • 2021 年 10 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 5 月
  • 2021 年 3 月
  • 2021 年 2 月
  • 2021 年 1 月
  • 2020 年 12 月
  • 2020 年 11 月
  • 2020 年 8 月
  • 2020 年 7 月
  • 2019 年 12 月
  • 2018 年 12 月
  • 2018 年 9 月
  • 2018 年 8 月
  • 2018 年 7 月
  • 2018 年 5 月
  • 2018 年 3 月
  • 2018 年 1 月
  • 2017 年 12 月
  • 2017 年 7 月
  • 2017 年 5 月
  • 2017 年 2 月
  • 2016 年 11 月
  • 2016 年 10 月
  • 2016 年 9 月
  • 2016 年 5 月
  • 2016 年 4 月
  • 2016 年 3 月
  • 2016 年 2 月
  • 2016 年 1 月
  • 2015 年 12 月
  • 2015 年 10 月
  • 2015 年 9 月
  • 2015 年 8 月
  • 2015 年 7 月
  • 2015 年 6 月
  • 2014 年 12 月
  • 2014 年 11 月
  • 2014 年 10 月
  • 2014 年 9 月
  • 2014 年 5 月
  • 2014 年 4 月
  • 2013 年 1 月
  • 2012 年 11 月
  • 2012 年 9 月
  • 2012 年 7 月
  • 2012 年 5 月
  • 2012 年 4 月
  • 2012 年 3 月
  • 2012 年 2 月
  • 2011 年 11 月
  • 2011 年 8 月
  • 2011 年 3 月
  • 2011 年 2 月
  • 2011 年 1 月
  • 2010 年 12 月
  • 2010 年 10 月
  • 2010 年 9 月
  • 2010 年 8 月
  • 2010 年 7 月
  • 2010 年 6 月
  • 2010 年 3 月
  • 2010 年 1 月
  • 2009 年 12 月
  • 2009 年 9 月
  • 2009 年 8 月
  • 2009 年 7 月
  • 2009 年 6 月
  • 2009 年 5 月
  • 2009 年 4 月
  • 2009 年 2 月
  • 2009 年 1 月
  • 2008 年 11 月
  • 2008 年 10 月
  • 2007 年 7 月
  • 2007 年 6 月
  • 2007 年 5 月
  • 2007 年 4 月
  • 2007 年 3 月
  • 2007 年 2 月
  • 2007 年 1 月
  • 2006 年 12 月
  • 2006 年 11 月
  • 2006 年 10 月
分类
  • 围棋,坐隐棋枰
  • 影评,读书笔记
  • 杂烩,林林总总
  • 杂谈,感悟人生
  • 编程,码工细语
  • 诗馀,品味生活
  • 足球,终生为蓝
  • 随笔,记录点滴

COPYRIGHT © 2025 沂濛 版权所有

All Designed By Yimeng Lu

京ICP备2022015169号-1