https://leetcode-cn.com/problems/add-two-numbers/submissions/

我的方法:

 /**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode ans = new ListNode(0);
ans.next = null;
ListNode curr = ans; int c = 0;
while(l1.next != null && l2.next != null){
curr.val = (l1.val + l2.val + c)%10;
c = (l1.val + l2.val + c)/10;
curr.next = new ListNode(0);
curr = curr.next;
l1 = l1.next;
l2 = l2.next;
}
//两数等长度时同时处理最后一个数即可
if(l1.next == null && l2.next == null){
curr.val = (l1.val + l2.val + c)%10;
c = (l1.val + l2.val +c)/10;
//看最终是否还有一位进位
if(c == 1){
curr.next = new ListNode(c);
curr.next.next = null;
}else{
curr.next = null;
}
return ans;
}
//一长一短时,留下长的那个,把短的的最后一个val记录后用不着了
ListNode l;
if(l1.next != null && l2.next == null){
l = l1;
curr.val = l2.val;
}else{
l = l2;
curr.val = l1.val;
}
//处理短的的最后一位
curr.val += l.val + c;
c = curr.val / 10;
curr.val %= 10;
curr.next = new ListNode(0);
curr = curr.next;
l = l.next; while(l.next != null){
curr.val = (l.val + c)%10;
c = (l.val + c)/10;
curr.next = new ListNode(0);
curr = curr.next;
l = l.next;
} //处理长的的最后一位
curr.val = (l.val + c)%10;
c = (l.val + c)/10;
if(c == 1){
curr.next = new ListNode(c);
curr.next.next = null;
}else{
curr.next = null;
} return ans;
}
}

按部就班的考虑与处理.注意不要有考察漏掉的情况

时间复杂度O(n),空间复杂度O(n)

//我所有的时空复杂度都是指级别,有必要具体分析的会特别注明

结果:

官方题解方法:

https://leetcode-cn.com/problems/add-two-numbers/solution/liang-shu-xiang-jia-by-leetcode/

也是朴素方法,区别在于他没有拆开来考虑,而是用了或判断,在末尾前进的时候又加了if

代码量比我的少,优雅一些.

(见仁见智,我不喜欢在简单的循环里加判断,徒增复杂度)

2019年7月20日 - LeetCode0002的更多相关文章

  1. 【2019年05月20日】A股滚动市盈率PE历史新低排名

    2010年01月01日 到 2019年05月20日 之间,滚动市盈率历史新低排名. 上市三年以上的公司, 2019年05月20日市盈率在300以下的公司. 1 - 阳光照明(SH600261) - 历 ...

  2. tmux使用——2019年11月20日16:40:15

    1.tmux 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令.用户与计算机的这种临时的交互,称为一次"会话& ...

  3. 2019年7月20日针对iPhone7/7P有锁机的爆破限制

    背景 2019年7月20号苹果更改了激活策略,致使卡贴机一夜回到解放前,目前只能使用tmsi或者tmsi+iccid模式激活手机,但是缺点是移动联通信号真的不稳定,漏接电话,无法开启热点等等毛病.尤其 ...

  4. 【搬家啦】2019年06月20日csdn难民来报道啦~

    原博地址:https://blog.csdn.net/the_fool_

  5. 2019年7月20日 - LeetCode0003

    https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/submissions/ 我的解法: c ...

  6. 易初大数据 2019年10月20日 linux死亡导图 王庆超

  7. 易初大数据 2019年10月20日 spss习题 王庆超

    一.选择题 1.有关spss数据字典的说法,正确的是:D A.SPSS数据集的数据字典可以复制到其他数据集中 B.SPSS数据集的数据字典是不能复制的 C.SPSS的数据字典可以通过“复制”和“黏贴” ...

  8. 西安活动 | 4月20日「拥抱开源,又见.NET :云时代 • 新契机」

    云计算日渐兴起,成为提升企业效率和生产力的最终解决方案,而云时代也为软件开发模式带来了翻天覆地的变化.可以说 .NET Core就是这个时代催生的产物.自2016年 .NET Core 1.0 发布以 ...

  9. 【08月20日】A股滚动市净率PB历史新低排名

    2010年01月01日 到 2019年08月20日 之间,滚动市净率历史新低排名. 上市三年以上的公司,2019年08月20日市净率在30以下的公司. 来源:A股滚动市净率(PB)历史新低排名. 1 ...

随机推荐

  1. wchar_t string on Linux, OS X and Windows

    Making wchar_t work on Linux, OS X and Windows for CMarkup release 10.1 I learned a couple of humble ...

  2. 屏蔽按CapsLock键切换到大写时,编辑框自动弹出的提示(UnregisterClass(TOOLTIPS_CLASS)后,重新设置WndProc并注意返回值)

    WNDPROC OldProc; LPCTSTR lpStr = TEXT("保持大写锁定打开可能会使您错误输入密码"); LRESULT CALLBACK WindowProc( ...

  3. 预编译加速编译(precompiled_header),指定临时文件生成目录,使项目文件夹更干净(MOC_DIR,RCC_DIR, UI_DIR, OBJECTS_DIR),#pragma execution_character_set("UTF-8")"这个命令是在编译时产生作用的,而不是运行时

    预编译加速编译 QT也可以像VS那样使用预编译头文件来加速编译器的编译速度.首先在.pro文件中加入: CONFIG += precompiled_header 然后定义需要预编译的头文件: PREC ...

  4. Hadoop集群(第1期)CentOS安装配置

    1.准备安装 1.1 系统简介 CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会 ...

  5. 联想笔记本进入不了BIOS的解决方法

    当计算机遇到问题时,很多情况下需要进入BIOS进行解决.但很多新出的联想笔记本电脑在开机时,无论怎么疯狂的按F2,Fn+F2,F12或者Del,都无法进入BIOS,十分气人. 这种现象出现的原因是联想 ...

  6. git(一)

    一.邮件的格式 抄送:需要知道这件事的人 内容: 大家好: 我是xxx,附件内容是我的简历,请查收,有问题可以随时联系我susun|开发工程师电话:1231xxxxx31地址:xxxxxx联系电话(公 ...

  7. Windows新终端中玩转ASCII和Emoji游戏的正确姿势

    Windows新终端中玩转ASCII和Emoji游戏的正确姿势 前一段时间,我搬运了几个Windows Terminal中玩游戏的视频,详情请看 发布在即!来一睹官方团队如何玩转 Windows Te ...

  8. 深入解析Hyperledger Fabric启动的全过程

    在这篇文章中,使用fabric-samples/first-network中的文件进行fabric网络(solo类型的网络)启动全过程的解析.如有错误欢迎批评指正. 至于Fabric网络的搭建这里不再 ...

  9. Java NIO 学习笔记(二)----聚集和分散,通道到通道

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

  10. HTTP&HTTPS

    主要参考文档:<图解HTTP> HTTP简介 什么是HTTP? HTTP:(HyperText Transfer Protocol),超文本传输协议,是一个基于请求和响应,无状态的,应用层 ...