题目的意思是需要考虑进位,总体上还是比较简单的,分成三种情况,第一种,最后位不为9,直接加1,第二种,不是所有位数为9,进几个位就行了,第三种,所有位数为9,也很好搞,贴代码
class Solution { public: vector<int> plusOne(vector<int>& digits) { int n = digits.size(); if(digits[n-1]!=9) { digits[n-1]++; return digits; } int i = n-1; while(digits[i] == 9 ) { if(i == 0) { digits[i] = 1; digits.push_back(0); return digits; } digits[i] = 0; --i; } digits[i]++; return digits; } };
原文:https://www.cnblogs.com/zhaohhhh/p/14490474.html