Algorithms—2.Add Two Numbers
2015-07-21 17:03
796 查看
思路:递归逐个相加,进位用布尔值传递。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
return add(l1,l2,true);
}
public ListNode add(ListNode l1, ListNode l2,boolean flag) {
boolean a=l1==null;
boolean b=l2==null;
if (a&&b&&flag) {
return null;
}
int val=(a?0:l1.val)+(b?0:l2.val)+(flag?0:1);
int v=val%10;
boolean f=(v==val);
ListNode answer=new ListNode(v);
answer.next=add(a?null:l1.next,b?null:l2.next,f);
return answer;
}
}
耗时:396ms,为数不多的上游
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
return add(l1,l2,true);
}
public ListNode add(ListNode l1, ListNode l2,boolean flag) {
boolean a=l1==null;
boolean b=l2==null;
if (a&&b&&flag) {
return null;
}
int val=(a?0:l1.val)+(b?0:l2.val)+(flag?0:1);
int v=val%10;
boolean f=(v==val);
ListNode answer=new ListNode(v);
answer.next=add(a?null:l1.next,b?null:l2.next,f);
return answer;
}
}
耗时:396ms,为数不多的上游
相关文章推荐
- HDU 2019 Fighting for HDU(贪心水题)
- BAPI_GOODSMVT_CREATE
- 详解Django通用视图中的函数包装
- 在Django的通用视图中处理Context的方法
- GoodSync
- 5个可用提高Godaddy主机速度的第三方CDN加速服务商
- Django框架中的对象列表视图使用示例
- django字段设置null和blank的区别
- 找不到匹配的outgoing encryption算法(No matching outgoing encryption algorithm found)
- django 一对多关系操作
- hdu 1856 More is better(并查集)
- 深入django :自定义ORM
- 在Django的模型中添加自定义方法的示例
- 在一个div上添加另外一个div:例如在一个div的左上角添加一个logo
- OC 类目(category) 延展(extension) 协议(protocol)(摘抄)
- hdu 1213 How Many Tables(并查集)
- Django的数据模型访问多对多键值的方法
- 举例讲解Django中数据模型访问外键值的方法
- BZOJ 3315: [Usaco2013 Nov]Pogo-Cow( dp )
- poj 3349 Snowflake Snow Snowflakes