题目:
Given a non-negative number represented as an array of digits, plus one to the number.
The digits are stored such that the most significant digit is at the head of the list.
翻译:
数组存放的是一个数字,返回这个数字加1的结果。
思路:
挺简单的一道题。只要从个位开始遍历,如果数字小于9,加1即可返回;如果是9且不是最高位,只需把该位置0,接着看下一位,如果是最高位,则在最高位之前插一个1。
代码:
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
for(int i=digits.size()-1;i>=0;i--)
{
if (digits[i]==9)
{
digits[i]=0;
if(i==0)
{
digits[i]=0;
digits.insert(digits.begin(),1);
}
}
else
{
digits[i]+=1;
break;
}
}
return digits;
}
};
结果