vector<int> plusOne(vector<int>& digits) { vector<int> res; //逆序存储 vector<int> temp; int sum = 0; for (int i = digits.size() - 1; i >= 0; i--){ sum = (i == digits.size() - 1) ? digits[i] + 1 : digits[i]; if (sum <= 9){ temp.push_back(sum); } else{ //溢出 if (i != 0){ digits[i - 1] = digits[i - 1]+1; temp.push_back(0); } else{ //多出一位 temp.push_back(0); temp.push_back(1); } } } int len = temp.size(); for (int i = 0; i < len; i++) { //res[i] = temp[len - i - 1]; res.push_back(temp[len - i - 1]); } return res; }