题目:https://oj.leetcode.com/problems/plus-one/
题意:一个用数组装着的大数,数组的每一个格子是一大数的每一位,问:加1之后,求返回的数组
思路:按照加法去做,注意最后有可能最高位进位会越界,要重新声明一个数组或者去改变原来的数组位置
据说这道题面试常用,因为可以扩展!!!
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
if(digits.size() == 0)
return digits;
int jinwei = 1;
for(int i = digits.size()-1; i >=0 ; i--){
int digit = (jinwei + digits[i])%10;
jinwei = (jinwei + digits[i])/10;
digits[i] = digit;
if(jinwei == 0) return digits;
}
vector<int> digits2;
digits2.push_back(1);
for(int i= 0;i<digits.size();i++){
digits2.push_back(digits[i]);
}
return digits2;
}
};