[leetcode]Add Two Numbers

来源:互联网 发布:数控车削编程 编辑:程序博客网 时间:2024/06/06 09:48

1.注意判断二个链表是否有一个为空,一个为空的话,就只处理另外一个。

2.链表处理完,注意最高位是否有进位。

3.交了好多次错误,需要再加联系。

public ListNode addTwoNumbers(ListNode l1, ListNode l2) {

        if(l1==null || l2==null)
            return null;
        int jin=0;
        ListNode tn=new ListNode(0);
        ListNode ret=tn;
        while(l1!=null && l2!=null){
            ListNode tt=new ListNode((l1.val+l2.val+jin)%10);
            jin=(l1.val+l2.val+jin)/10;
            l1=l1.next;
            l2=l2.next;
            tn.next=tt;
            tn=tt;
        }
        while(l1!=null){
            ListNode tt=new ListNode((l1.val+jin)%10);
            jin=(l1.val+jin)/10;
            tn.next=tt;
            tn=tt;
            l1=l1.next;
        }
         while(l2!=null){
            ListNode tt=new ListNode((l2.val+jin)%10);
            jin=(l2.val+jin)/10;
            tn.next=tt;
            tn=tt;
            l2=l2.next;
        }
        if(jin==1){
          ListNode tt=new ListNode(1);
          tn.next=tt;
        }
        return ret.next;
    }
0 0
原创粉丝点击