首页 > 其他 > 详细

CC150-链表4

时间:2015-08-20 06:43:55      阅读:126      评论:0      收藏:0      [点我收藏+]

给定两个用链表表示的证书,每个节点包含一个数位,反向存放,也就是个位排在链表首部并返回结果

迭代:

1.增加一个ArrayList数据结构用来临时保存每一位的加和结果

2.之后分别遍历L1和L2两个链表将两个链表中的值相加

3.将多出的位数加入ArrayList之后反向输出。

递归:

public static LinkListNode addTwoLinkListNode(LinkListNode l1, LinkListNode l2, int carry){
if(l1==null&&l2==null&&carry==0) return null;
LinkListNode result = new LinkListNode();

int value = carry;
if(l1!=null){
value +=l1.data;
}
if(l2!=null){
value +=l2.data;
}
result.data = value%10;
LinkListNode more = addTwoLinkListNode(l1==null?null:l1.next, l2==null?null:l2.next,value>=10?1:0);
result.setNext(more);
return result;
}

CC150-链表4

原文:http://www.cnblogs.com/whaochen/p/4743973.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!