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.
Subscribe to see which companies asked this question
/*class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
vector<int> ret;
int len = digits.size();
int cnt=0;
for(int i=len-1; i >= 0; i--) {
int sum = digits[i]+cnt;
cnt = sum/10;
sum = sum%10;
ret.push_back(sum);
}
if(cnt > 0) ret.push_back(cnt);
reverse(ret.begin(), ret.end());
return ret;
}
}*/
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
int n = digits.size();
for(int i=n-1; i >= 0; i--) {
if(digits[i]==9) {
digits[i]=0;
} else {
digits[i]++;
return digits;
}
}
digits[0]=1;
digits.push_back(0);
return digits;
}
}
本文介绍了一种将非负数数组形式表示的数字加一的算法实现。通过两种不同的方法来处理进位问题,确保从个位到最高位正确地进行数值加一操作。文章提供了详细的代码示例。
1455

被折叠的 条评论
为什么被折叠?



