题目描述
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
题目思路
该题的思路就是模拟数值的进1.
具体代码
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
bool carry = true;
int n=digits.size();
for(int i=n-1;i>=0&&carry;i--)
{
carry = (++digits[i])%10==0;
if(carry)
digits[i]=0;
}
if(carry)
{
digits.insert(digits.begin(),1);
}
return digits;
}
};
class Solution {
public int[] plusOne(int[] digits) {
boolean carry = true;
for(int i=digits.length-1;i>=0;i--)
{
if(++digits[i]==10)
{
digits[i]=0;
}else
{
carry=false;
break;
}
}
if(carry)
{
int result[]= new int[digits.length+1];
result[0]=1;
return result;
}
return digits;
}
}