給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。
最高位數字存放在陣列的首位, 陣列中每個元素只儲存單個數字。
你可以假設除了整數 0 之外,這個整數不會以零開頭。
示例 1:
輸入: [1,2,3]
輸出: [1,2,4]
解釋: 輸入陣列表示數字 123。
示例 2:
輸入: [4,3,2,1]
輸出: [4,3,2,2]
解釋: 輸入陣列表示數字 4321。
乙個本來很簡單的題目,但是總是想複雜了。
for倒序遍歷每乙個值,如果+1後不為0,直接return。 不需要考慮進製。
因為如果當前沒有return 就代表要進入下乙個迴圈。預設+1的。一直迴圈完。如果期間只要符合要求直接就會return
只要一直沒有return就代表每一位都到了10.
那麼最後一定是要在最前面+1的。
直接用stl在最前面+1即可
class solution {
public:
vectorplusone(vector& digits) {
for(int i = digits.size() - 1; i >= 0; i --) {
digits[i] ++;
if(digits[i] == 10) digits[i] = 0;
else return digits;
digits.insert(digits.begin(), 1);
return digits;
LeetCode 66 加一 簡單
給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存單個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 digits 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。示例 2 輸入 digits 4...
LeetCode 66 加一(簡單)
一 原題 給定乙個由 整數 組成的 非空 陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存單個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 digits 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。示例 2 輸入...
leetcode 66 加一(C語言)
給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存乙個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。示例 2 輸入 4,3,2,1 輸出 4,3,...