給定兩個用鍊錶表示的整數,每個節點包含乙個數字。
這些數字是反向存放的,也就是個位排在鍊錶首部。
編寫函式對這兩個整數求和,並用鍊錶形式返回結果。
示例:
1.先對應位求和(位數少的數對應位不存在就用0加)
2.加上上一次的進製
3.得到當前位
4.記錄進製
當位數大的數遍歷完(遍歷完較長的鍊錶)且進製也為0的時候就可以停止了
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
if(p2 !=
null
) sum +
= carry;
listnode* node =
newlistnode
(sum %10)
; carry = sum /10;
p->next = node;
p = p-
>next;
}return head-
>next;}}
;
時間複雜度:o(n)
空間複雜度:o(1)
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 definition for singly linked list.stru...
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 高階 思考一下,假設這些數字是正向存放的,又該如何解決呢?示例 輸入 6 1...
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 class solution if l2 listnode node new li...