首页 > 其他 > 详细

2.Add two Numbers

时间:2016-04-09 06:57:43      阅读:234      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!