-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplusone.java
More file actions
37 lines (35 loc) · 1.06 KB
/
plusone.java
File metadata and controls
37 lines (35 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
https://leetcode.com/explore/interview/card/top-interview-questions-easy/92/array/559/
class Solution {
public int[] plusOne(int[] digits) {
ArrayList<Integer> arr = new ArrayList<Integer>();
int carry = 0,i;
for(i=digits.length-1;i>=0;i--){
if(carry!=0){
digits[i]+=carry;
if(digits[i]>9) {
carry =1;
arr.add(digits[i]%10);
}
else {arr.add(digits[i]);
carry = 0;}
}
else {
if(i!=digits.length-1)
arr.add(digits[i]);
else{
int x = digits[digits.length-1]+1;
arr.add(x%10);
if(x>9)
carry = 1;
}
}
}
if(carry == 1 && i<0) arr.add(carry);
int k=arr.size()-1;
int[] ans = new int[arr.size()];
for(i=0;i<arr.size();i++){
ans[i] = arr.get(k--);
}
return ans;
}
}