給你兩個 非空 鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存一位數字。將這兩數相加會返回乙個新的鍊錶。
你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。
高階:如果輸入鍊錶不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。
示例:
輸入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)翻轉 頭插法輸出:7 -> 8 -> 0 -> 7
/**
* definition for a singly-linked list.
* class listnode
* }*/class
solution
elseif
($l1&&!
$l2)
elseif(!
$l1&&
$l2)
$val+=
$carry
;$carry
=intval
($val/10
);$node
=new
listnode
($val%10
);$node
->
next
=$prev
->
next
;$prev
->
next
=$node;}
return
$prev
->
next;}
function
reverse
($head
)return
$prev;}
}
高階(雙棧):
/**
* definition for a singly-linked list.
* class listnode
* }*/class
solution
elseif
($st1
&&empty
($st2))
elseif
(empty
($st1)&&
$st2
)$val+=
$carry
;$carry
=intval
($val/10
);$node
=new
listnode
($val%10
);$node
->
next
=$prev
->
next
;$prev
->
next
=$node;}
return
$prev
->
next;}
function
push_stack
($head
)return
$res;}
}
leetcode 445 兩數相加 II
給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。輸入 7 2 4 3 5 6 4 輸出 7 8 0 7 分別遍歷兩個鍊錶,將鍊錶代表的數存於a,b 根據a,b的和,用...
Leetcode445 兩數相加 II
給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。高階 如果輸入鍊錶不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。示例 輸入 7 2 4 3 5 6 4 ...
LeetCode 445 兩數相加II(Java)
給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。高階 鍊錶不能修改該,換句話說,你不能對列表中的節點進行翻轉。示例 輸入 7 2 4 3 5 6 4 輸出 7 8 0...