好久没有写博客了,总之没想到大学生活要结束的这么快...接下去就是努力找实习
复习下链表的知识,晃晃悠悠写了1个小时,果然好久不碰算法了。
public ListNode addTwoNumber(ListNode l1,ListNode l2){
int carry=0;//设置进位
ListNode p=new ListNode(-1);//新建返回链表
ListNode head=p;
while(l1!=null||l2!=null){
ListNode l3=new ListNode(carry);//新建返回链表
if (l1!=null){
carry=carry+l1.val;
l1=l1.next;
}
if (l2!=null){
carry=carry+l2.val;
l2=l2.next;
}
l3.val=carry%10;
carry=carry/10;
if (p.val<0)//说明是头结点
{
p=l3;
head=p;
}
else//否则不是头结点
{
p.next=l3;
p=p.next;
}
}
if(carry!=0)//如果最后一位有进位,要增加节点
{
ListNode l3=new ListNode(carry);//新建返回链表
p.next=l3;
}
return head;
}