码迷,mamicode.com
首页 > 其他好文 > 详细

2.Add two Numbers

时间:2016-04-09 06:58:29      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

/*
     * 2.Add Two Numbers
     * 2016-4-8 by Mingyang
     * 这道题目首先做的时候用了很多情况,比如ab都不为空,ab都为空,只有a为空,只有b为空。后面改为只有一种
     * 情况:只要a或b为不为空,就把a或者b的数加起来,然后再做相应的运算。
     * 第二个点是在p3.next=new ListNode(carry%10);
     * 这里是把下一个点的值赋予当前的计算结果。而我是把当前的node给当前的结果,那么
     * 下一个Node就不知道如何初始化了
     */
      public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
           int carry=0;
           ListNode pre=new ListNode(-1);
           ListNode p1=l1,p2=l2,p3=pre;
           while(l1!=null||l2!=null){
              if(l1!=null){
                  carry=carry+l1.val;
                  l1=l1.next;
              } 
              if(l2!=null){
                  carry+=l2.val;
                  l2=l2.next;
              }
              p3.next=new ListNode(carry%10);
              p3=p3.next;
              carry=carry/10;
           }
           if(carry!=0){
               p3.next=new ListNode(carry);
           }
           return pre.next;
        }

 

2.Add two Numbers

标签:

原文地址:http://www.cnblogs.com/zmyvszk/p/5370523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!