vector
思路
往前找到非9的元素,加1即可
solution 1
需要知道 vector是i可以前插的
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
int n = digits.size();
int i=n-1;
//從後往前
while(digits[i]==9 && i>=0){
digits[i] = 0;
i--;
}
//break for what?
if(i<0){ //cases like 99999
digits.insert(digits.begin(),1);
}else{ //cases like 8999
digits[i]++;
}
return digits;
}
};
solution 2
轉化為數字,然後再+1,然後再轉化回去。 這實際有點小題大做,因為這一題固定只是+1.
如果是隨便+一個數,就可以用這種方法。
總結
考慮出題意義,這個題目按照這個做法是不是小題大做了?