題目描述:ios
給定一個由整數組成的非空數組所表示的非負整數,在該數的基礎上加一。git
最高位數字存放在數組的首位, 數組中每一個元素只存儲一個數字。數組
你能夠假設除了整數 0 以外,這個整數不會以零開頭。spa
示例:code
輸入:[4,3,2,1]blog
輸出:[4,3,2,2]ci
#include<iostream> #include<vector> using namespace std; class Solution{ public: vector<int> plusOne(vector<int>& digits){ digits[digits.size()-1] += 1; for(int i=digits.size()-1; i>0; --i){ if(digits[i] == 10){ digits[i] = 0; digits[i-1] += 1; } } if(digits[0] == 10){ digits[0] = 1; digits.push_back(0); } return digits; } }; int main(){ Solution solution; vector<int> vec; int i; do{ cin>>i; vec.push_back(i); }while(getchar() != '\n'); vec = solution.plusOne(vec); for(int i=0; i<vec.size(); ++i){ cout<<vec[i]<<" "; } cout<<endl; return 0; }