leetcode—Plus one
1.题目描述
Given a number represented as an array of digits, plus one to the number.
2.解法分析
不要被常规思路限制住,常规思路会遍历整个数组,然后设置进位,但是实际上只需要找到第一位不为9的数字即可,免去了加的必要。
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {// Start typing your C/C++ solution below
// DO NOT write int main() function
if(digits.empty())return digits;int len=digits.size();
int i=len-1;
while(i>=0)
{if(digits[i]==9)digits[i]=0;
else{
digits[i]+=1;break;
}i--;}if(i<0)digits.insert(digits.begin(),1);
return digits;
}};