题目描述:
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中的每个元素存储单个数字。
题目解析:本题关键在于如何处理进位的问题,而且在首位,如果出现进位问题时,需要将原来的数组长度增加1.
注意:在for循环中,如果出现了return 满足的条件,则直接返回,for循环也随即终止。
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int len=digits.size();
for(int i=len-1;i>=0;i--)
{
digits[i]++;
digits[i]=digits[i]%10;
if(digits[i]!=0) return digits;
}
vector<int> result(len+1,0);
result[0]=1;
return result;
}
};