Leetcode2 Add Two Numbers

Posted chason95

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode2 Add Two Numbers相关的知识,希望对你有一定的参考价值。

之前没按顺序做,发现原来第二题也是挺有做头的,以后可以按顺序先刷前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的主要内容,如果未能解决你的问题,请参考以下文章

leetcode2. Add Two Numbers

leetcode2. Add Two Numbers

Leetcode2. Add Two Numbers

Leetcode2 Add Two Numbers

Leetcode2. Add Two Numbers 两数相加

leetcode2 add two numbers