leetcode 2.兩數相加

給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式存儲的,而且它們的每一個節點只能存儲 一位 數字。網絡

若是,咱們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。code

您能夠假設除了數字 0 以外,這兩個數都不會以 0 開頭。leetcode

示例:it

輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
緣由:342 + 465 = 807io

來源:力扣(LeetCode)
連接:https://leetcode-cn.com/problems/add-two-numbers
著做權歸領釦網絡全部。商業轉載請聯繫官方受權,非商業轉載請註明出處。class

 

 

 

 

 

/**
 * 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 pre = new ListNode(0);
        ListNode cur = pre;//將pre的地址賦給cur
        int carry = 0;
        while(l1 != null || l2 != null) {//while循環條件爲只要有一個鏈表不空就繼續進行
            int x = l1 == null ? 0 : l1.val;//空的
            int y = l2 == null ? 0 : l2.val;
            int sum = x + y + carry;
            
            carry = sum / 10;
            sum = sum % 10;
            cur.next = new ListNode(sum);List

            cur = cur.next;
            if(l1 != null)
                l1 = l1.next;
            if(l2 != null)
                l2 = l2.next;
        }
        if(carry == 1) {
            cur.next = new ListNode(carry);
        }
        return pre.next;
    }
}循環

做者:guanpengchn
連接:https://leetcode-cn.com/problems/add-two-numbers/solution/hua-jie-suan-fa-2-liang-shu-xiang-jia-by-guanpengc/
來源:力扣(LeetCode)
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。gc

相關文章
相關標籤/搜索