2019年7月20日 - LeetCode0002
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的更多相关文章
- 【2019年05月20日】A股滚动市盈率PE历史新低排名
2010年01月01日 到 2019年05月20日 之间,滚动市盈率历史新低排名. 上市三年以上的公司, 2019年05月20日市盈率在300以下的公司. 1 - 阳光照明(SH600261) - 历 ...
- tmux使用——2019年11月20日16:40:15
1.tmux 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令.用户与计算机的这种临时的交互,称为一次"会话& ...
- 2019年7月20日针对iPhone7/7P有锁机的爆破限制
背景 2019年7月20号苹果更改了激活策略,致使卡贴机一夜回到解放前,目前只能使用tmsi或者tmsi+iccid模式激活手机,但是缺点是移动联通信号真的不稳定,漏接电话,无法开启热点等等毛病.尤其 ...
- 【搬家啦】2019年06月20日csdn难民来报道啦~
原博地址:https://blog.csdn.net/the_fool_
- 2019年7月20日 - LeetCode0003
https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/submissions/ 我的解法: c ...
- 易初大数据 2019年10月20日 linux死亡导图 王庆超
- 易初大数据 2019年10月20日 spss习题 王庆超
一.选择题 1.有关spss数据字典的说法,正确的是:D A.SPSS数据集的数据字典可以复制到其他数据集中 B.SPSS数据集的数据字典是不能复制的 C.SPSS的数据字典可以通过“复制”和“黏贴” ...
- 西安活动 | 4月20日「拥抱开源,又见.NET :云时代 • 新契机」
云计算日渐兴起,成为提升企业效率和生产力的最终解决方案,而云时代也为软件开发模式带来了翻天覆地的变化.可以说 .NET Core就是这个时代催生的产物.自2016年 .NET Core 1.0 发布以 ...
- 【08月20日】A股滚动市净率PB历史新低排名
2010年01月01日 到 2019年08月20日 之间,滚动市净率历史新低排名. 上市三年以上的公司,2019年08月20日市净率在30以下的公司. 来源:A股滚动市净率(PB)历史新低排名. 1 ...
随机推荐
- Hadoop中重要概念简要总结
Hadoop是一个利用大规模计算机集群,可处理大量数据的分布式并行框架. Hadoop 官网 Hadoop的核心设计包括HDFS和MapReduce. HDFS HDFS(Hadoop Distrib ...
- MinGW和MSYS区别和关系以及MinGW&MSYS在Win7中安装并编译x264
http://blog.csdn.net/freeape/article/details/50555003
- 更改当前电源策略(使用SetActivePwrScheme API函数),自定义电源按钮动作(设置GLOBAL_POWER_POLICY)
#include <windows.h> #include <Powrprof.h> #pragma comment(lib, "Powrprof.lib" ...
- 用汇编语言给XP记事本添加“自动保存”功能 good
[文章标题]: 用汇编语言给XP记事本添加“自动保存”功能 [文章作者]: newjueqi [作者邮箱]:zengjiansheng1@126.com [作者QQ]:190678908 [使用工具] ...
- 大神为你分析 Go、Java、C 等主流编程语言(Go可以替代Java,而且最小化程序员的工作量,学习比较容易)
本文主要分析 C.C++98.C++11.Java 与 Go,主要论述语言的关键能力.在论述的过程中会结合华为各语言编程专家和华为电信软件内部的骨干开发人员的交流,摒弃语言偏好或者语言教派之争,尽量以 ...
- android核心系列--2,关于任务栈(task)
一,任务 任务是由界面组件组成的一个栈,这些界面组件可以来自多个进程,多个应用,为共同完成一项任务而存在,比如写邮件时会用到邮件应用和联系人应用中的界面组件,这些界面组件在同一个任务中运行. 二,界面 ...
- jQuery中的Ajax应用<思维导图>
传统的WEB应用程序模型是这样工作的:当用户的界面操作触发HTTP请求,服务器在接到请求后进行一些业务逻辑处理,如保存数据等,然后向客户端返回一个html页面.但这种方式并没有给予用户很好的应用体验, ...
- SYN3305A型 小型时统设备
SYN3305A型 小型时统设备 产品概述 SYN3305A型小型时统设备是由西安同步电子科技有限公司精心设计.自行研发生产的一款高准确度的锁相石英频率标准.内装OCX0恒温晶体振荡器,利用G ...
- BDC
TC:SHDB 复制到应用处并更改参数. 附上部分代码 * Batchinputdata of single transaction DATA: bdcdata LIKE bdcdat ...
- IIS7上传4M文件以上文件出现“Post大小超出允许的限制”错误解决方法
在web.config文件中的system.web节点中添加如下这句,即40M <system.web> <httpRuntime maxRequestLength = " ...