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

Leetcode2 Add Two Numbers

时间:2018-07-13 19:03:45      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:next   return   增加   list   ima   linked   car   while   temp   

之前没按顺序做,发现原来第二题也是挺有做头的,以后可以按顺序先刷前150道。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode firstNode = new ListNode(0);
        ListNode pre = new ListNode(-1);
        ListNode p1=l1,p2=l2;
        int carrybit =0;    //进位位,有进位设对应值,本题为1,无进位设为0
        boolean isFirst = true;
        while(p1!=null||p2!=null||carrybit!=0) {    //用例[5],[5],应输出[0,1]结果得到[0],故增加判断carrybit!=0
            ListNode tempNode;
            int temp=0;
            if(p1!=null&&p2!=null) {
                temp = p1.val+p2.val+carrybit;
                p1=p1.next;p2=p2.next;
            }
            else if(p1!=null&&p2==null) {
                temp = p1.val+carrybit;
                p1=p1.next;
            }
            else if(p1==null&&p2!=null) {
                temp = p2.val+carrybit;
                p2=p2.next;
            }
            else{
                temp = carrybit;
            }
            tempNode = new ListNode(temp%10);
            carrybit = temp/10;
            if(isFirst) {firstNode = tempNode;pre=firstNode;isFirst=false;}
            else {pre.next=tempNode;pre=tempNode;}
        }
        return firstNode;
    }
}

技术分享图片

 

Leetcode2 Add Two Numbers

标签:next   return   增加   list   ima   linked   car   while   temp   

原文地址:https://www.cnblogs.com/chason95/p/9306325.html

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