[LeetCode] Medium - Add Two Numbers

4864 ワード

https://leetcode.com/problems/add-two-numbers/
function getNum(node){
    if(node) return node.val
    else return 0
}


var addTwoNumbers = function(l1, l2) {

    let answer = new ListNode();
    let order = 0;

    let current = answer

    
   while(true){
        let num1 = getNum(l1)
        let num2 = getNum(l2)
        let sum = num1 + num2 + order
        if(l1) l1 = l1.next
        if(l2) l2 = l2.next
   
        order = sum >= 10 ? 1 : 0
        sum %= 10
        
        
        current.val = sum
       if(l1 == null && l2 == null && order== 0) break;
        current.next = new ListNode()
        current = current.next
    }
    
    return answer
    
};
問題がリンクリストを使うことを要求していることは知っていますが、ListNodeを使い続け、JSONを開きました.stringfyに出力オブジェクトに含まれるpropertyを直接確認

valは現在の値を表し、nextは次のノードを表す.
その後,各リンクリストを巡回しながら値を追加し,新しいリンクリストに追加する形で解く.