Skip to content

Commit ce051b5

Browse files
committed
solve problem Plus One
1 parent 05a6088 commit ce051b5

File tree

5 files changed

+58
-0
lines changed

5 files changed

+58
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ All solutions will be accepted!
129129
|747|[Largest Number At Least Twice Of Others](https://leetcode-cn.com/problems/largest-number-at-least-twice-of-others/description/)|[java/py/js](./algorithms/LargestNumberAtLeastTwiceOfOthers)|Easy|
130130
|455|[assign cookies](https://leetcode-cn.com/problems/assign-cookies/description/)|[java/py/js](./algorithms/AssignCookies)|Easy|
131131
|415|[Add Strings](https://leetcode-cn.com/problems/add-strings/description/)|[java/py/js](./algorithms/AddStrings)|Easy|
132+
|66|[Plus One](https://leetcode-cn.com/problems/plus-one/description/)|[java/py/js](./algorithms/PlusOne)|Easy|
132133
|67|[Add Binary](https://leetcode-cn.com/problems/add-binary/description/)|[java/py/js](./algorithms/AddBinary)|Easy|
133134
|504|[Base 7](https://leetcode-cn.com/problems/base-7/description/)|[java/py/js](./algorithms/Base7)|Easy|
134135
|830|[Positions Of Large Groups](https://leetcode-cn.com/problems/positions-of-large-groups/description/)|[java/py/js](./algorithms/PositionsOfLargeGroups)|Easy|

algorithms/PlusOne/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Plus One
2+
This problem is easy to solve, like Add Strings

algorithms/PlusOne/Solution.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public int[] plusOne(int[] digits) {
3+
List<Integer> res = new ArrayList<Integer>();
4+
int carry = 1;
5+
6+
for (int i = digits.length - 1; i >= 0; i--) {
7+
int sum = digits[i] + carry;
8+
res.add(0, sum % 10);
9+
carry = sum / 10;
10+
}
11+
12+
if (carry == 1) {
13+
res.add(0, 1);
14+
}
15+
16+
int[] resArray = new int[res.size()];
17+
for (int i = res.size() - 1; i >= 0; i--) {
18+
resArray[i] = res.get(i);
19+
}
20+
return resArray;
21+
}
22+
}

algorithms/PlusOne/solution.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* @param {number[]} digits
3+
* @return {number[]}
4+
*/
5+
var plusOne = function(digits) {
6+
let res = [],
7+
carry = 1
8+
9+
digits.reverse().forEach(d => {
10+
let sum = d + carry
11+
res.unshift(sum % 10)
12+
carry = parseInt(sum / 10)
13+
})
14+
15+
if (carry === 1) res.unshift(1)
16+
17+
return res
18+
};

algorithms/PlusOne/solution.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class Solution(object):
2+
def plusOne(self, digits):
3+
"""
4+
:type digits: List[int]
5+
:rtype: List[int]
6+
"""
7+
res = []
8+
carry = 1
9+
10+
for i in range(len(digits))[::-1]:
11+
sm = digits[i] + carry
12+
res.insert(0, sm % 10)
13+
carry = sm / 10
14+
15+
return res if carry == 0 else [1] + res

0 commit comments

Comments
 (0)