好久沒有寫博客了,總之沒想到大學生活要結束的這麼快...接下去就是努力找實習
複習下鏈表的知識,晃晃悠悠寫了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;
}