Leetcode#2.Add Two Numbers
来源:互联网 发布:华威医药 知乎 编辑:程序博客网 时间:2024/05/16 02:32
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode res=null,prev=null;
ListNode p1=l1,p2=l2;
boolean jinwei=false;
while(p1!=null&&p2!=null){
int tmp1=p1.val+p2.val;
if(prev!=null&&jinwei) tmp1++;//如果不是第一次并且上次有进位,则本次增1
jinwei=(tmp1/10==1?true:false);
if(prev==null){
res=prev= new ListNode(tmp1%10);
}else{
prev.next=new ListNode(tmp1%10);
prev=prev.next;//每增加一个节点,前一个节点的指针也要向后移动一个
}
p1=p1.next;
p2=p2.next;
}//相同位数的已经完毕
if(p1!=null){
while(p1!=null){//p1还剩下,p1位数更多些
int tmp1=p1.val;
if(prev!=null&&jinwei) tmp1++;//如果不是第一次并且上次有进位,则本次增1
jinwei=(tmp1/10==1?true:false);
if(prev==null){
res=prev=new ListNode(tmp1%10);
}else{
prev.next=new ListNode(tmp1%10);
prev=prev.next;
}
p1=p1.next;
}
if(jinwei) {
prev.next=new ListNode(1);
}
}else if(p2!=null){
while(p2!=null){//p1还剩下,p1位数更多些
int tmp2=p2.val;
if(prev!=null&&jinwei) tmp2++;//如果不是第一次并且上次有进位,则本次增1
jinwei=(tmp2/10==1?true:false);
if(prev==null){
res=prev=new ListNode(tmp2%10);
}else{
prev.next=new ListNode(tmp2%10);
prev=prev.next;
}
p2=p2.next;
}
if(jinwei) {
prev.next= new ListNode(1);
}
}else{
if(jinwei) {
prev.next= new ListNode(1);
}
}
return res;
}
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode res=null,prev=null;
ListNode p1=l1,p2=l2;
boolean jinwei=false;
while(p1!=null&&p2!=null){
int tmp1=p1.val+p2.val;
if(prev!=null&&jinwei) tmp1++;//如果不是第一次并且上次有进位,则本次增1
jinwei=(tmp1/10==1?true:false);
if(prev==null){
res=prev= new ListNode(tmp1%10);
}else{
prev.next=new ListNode(tmp1%10);
prev=prev.next;//每增加一个节点,前一个节点的指针也要向后移动一个
}
p1=p1.next;
p2=p2.next;
}//相同位数的已经完毕
if(p1!=null){
while(p1!=null){//p1还剩下,p1位数更多些
int tmp1=p1.val;
if(prev!=null&&jinwei) tmp1++;//如果不是第一次并且上次有进位,则本次增1
jinwei=(tmp1/10==1?true:false);
if(prev==null){
res=prev=new ListNode(tmp1%10);
}else{
prev.next=new ListNode(tmp1%10);
prev=prev.next;
}
p1=p1.next;
}
if(jinwei) {
prev.next=new ListNode(1);
}
}else if(p2!=null){
while(p2!=null){//p1还剩下,p1位数更多些
int tmp2=p2.val;
if(prev!=null&&jinwei) tmp2++;//如果不是第一次并且上次有进位,则本次增1
jinwei=(tmp2/10==1?true:false);
if(prev==null){
res=prev=new ListNode(tmp2%10);
}else{
prev.next=new ListNode(tmp2%10);
prev=prev.next;
}
p2=p2.next;
}
if(jinwei) {
prev.next= new ListNode(1);
}
}else{
if(jinwei) {
prev.next= new ListNode(1);
}
}
return res;
}
}
0 0
- [LeetCode]2.Add Two Numbers
- LeetCode 2.Add Two Numbers
- LeetCode --- 2. Add Two Numbers
- [Leetcode] 2. Add Two Numbers
- 【leetcode】2. Add Two Numbers
- leetcode 2. Add Two Numbers
- LeetCode-2.Add Two Numbers
- [leetcode] 2. Add Two Numbers
- 【LeetCode】2. Add Two Numbers
- LeetCode - 2. Add Two Numbers
- LeetCode 2.Add Two Numbers
- LeetCode 2. Add Two Numbers
- Leetcode 2. Add Two Numbers
- 2. Add Two Numbers LeetCode
- leetcode 2. Add Two Numbers
- LeetCode-2. Add Two Numbers
- LeetCode 2. Add Two Numbers
- 2. Add Two Numbers----LeetCode
- IOS开发ARC forbids explicit message send of 'autorelease'错误解决办法
- plsql自动补全
- ab压力测试
- Median of Two Sorted Arrays
- jQuery.extend 函数详解
- Leetcode#2.Add Two Numbers
- WPF经典编程模式-MVVM示例讲解
- java判断字符串是否为空的方法总结
- linux 内存管理逻辑地址,物理地址以及虚拟地址
- 比特币开发
- MYSQL 缓存设置 提高MYSQL查询性能
- okHttp框架的介绍 和关于https的自定义签名证书的问题
- Swift中用NSURLConnection解析URL,并解析Jason数据
- RStudio Linux Server 版本 安装配置 说明