1. 程式人生 > 其它 >執行緒池基礎知識

執行緒池基礎知識

給你兩個 非空 的連結串列,表示兩個非負的整數。它們每位數字都是按照 逆序 的方式儲存的,並且每個節點只能儲存 一位 數字。

請你將兩個數相加,並以相同形式返回一個表示和的連結串列。

你可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。

輸入:l1 = [2,4,3], l2 = [5,6,4]
輸出:[7,0,8]
解釋:342 + 465 = 807.

示例 2:

輸入:l1 = [0], l2 = [0]
輸出:[0]

示例 3:

輸入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
輸出:[8,9,9,9,0,0,0,1]

提示:

每個連結串列中的節點數在範圍 [1, 100] 內
0 <= Node.val <= 9
題目資料保證列表表示的數字不含前導零

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/add-two-numbers

public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode head= new ListNode();
        ListNode p1,p2,curr;
        p1=l1;
        p2=l2;
        curr=head;
        int carry=0;
        int t;
        while (p1!=null&&p2!=null)
        {
            curr.next=new ListNode();
            curr=curr.next;
            t=p1.val+p2.val+carry;
            p1=p1.next;
            p2=p2.next;
            curr.val=t%10;
            carry=t/10;
        }
        while (p1!=null)
        {
            t=carry+p1.val;
            p1=p1.next;
            curr.next=new ListNode();
            curr=curr.next;
            curr.val=t%10;
            carry=t/10;
        }

        while (p2!=null)
        {
            t=carry+p2.val;
            p2=p2.next;
            curr.next=new ListNode();
            curr=curr.next;
            curr.val=t%10;
            carry=t/10;
        }
        if(carry!=0)
        {
            curr.next=new ListNode();
            curr=curr.next;
            curr.val=carry;
        }
        return head.next;
    }