本文共 1070 字,大约阅读时间需要 3 分钟。
class Solution {public: vector plusOne(vector &digits) { // Start typing your C/C++ solution below // DO NOT write int main() function vector ans; int len = digits.size(); int carry = 1; int cur = len-1; while(cur >= 0 || carry) { int val = (cur >= 0 ? digits[cur] : 0); int now = carry + val; int tmp = now%10; carry = now/10; ans.insert(ans.begin(), tmp); cur = (cur >= 0 ? --cur : cur); } return ans; }};
second time
class Solution {public: vector plusOne(vector &digits) { // Start typing your C/C++ solution below // DO NOT write int main() function reverse(digits.begin(), digits.end()); int carry = 1; for(int i = 0; i < digits.size(); ++i) { int sum = digits[i]+carry; digits[i] = sum%10; carry = sum/10; } while(carry != 0) { digits.push_back(carry%10); carry /= 10; } reverse(digits.begin(), digits.end()); return digits; }};
转载地址:http://xmxti.baihongyu.com/