您的位置:首页 > 其它

CC150-链表4

2015-08-20 02:26 381 查看
给定两个用链表表示的证书,每个节点包含一个数位,反向存放,也就是个位排在链表首部并返回结果

迭代:

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: