# 0066. Plus One ###### tags: `Leetcode` `Easy` `FaceBook` `Add Simulation` ## 思路 因为有进位只有一种情况,就是当前数字是9,所以其他情况只要当前数字+1就可以return了,所以不需要用之前的方法一位一位加carry (carry一旦是0,就一直都是0了) ## Code Java ```java= class Solution { public int[] plusOne(int[] digits) { for(int i = digits.length-1;i >= 0;i--){ if(digits[i]==9){ digits[i]=0; } else{ digits[i]++; return digits; } } digits = new int[digits.length+1]; digits[0] = 1; return digits; } } ``` C ```c= class Solution { public: vector<int> plusOne(vector<int>& digits) { digits[digits.size()-1]+=1; int digit_pos = digits.size()-1; while(digit_pos>=0&&digits[digit_pos]==10){ if(digit_pos!=0){ digits[digit_pos]%=10; digits[digit_pos-1] += 1; digit_pos--; } else{ digits[digit_pos]=1; digits.push_back(0); } } return digits; } }; ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up