/**
* Problem: LeetCode 66 - Plus One
* Difficulty: Easy
* Language: Java
* Author: CodeByTushu
*/
class Solution {
public int[] plusOne(int[] digits) {
int n = digits.length;
// Traverse digits from right to left
for (int i = n - 1; i >= 0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
}
digits[i] = 0;
}
// If all digits were 9 (e.g. 99 -> 100)
int[] result = new int[n + 1];
result[0] = 1;
return result;
}
}
"""
Problem: LeetCode 66 - Plus One
Difficulty: Easy
Language: Python
Author: CodeByTushu
"""
from typing import List
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
n = len(digits)
# Traverse digits from right to left
for i in range(n - 1, -1, -1):
if digits[i] < 9:
digits[i] += 1
return digits
digits[i] = 0
# If all digits were 9 (e.g. 99 -> 100)
return [1] + [0] * n
/**
* Problem: LeetCode 66 - Plus One
* Difficulty: Easy
* Language: C++
* Author: CodeByTushu
*/
#include <vector>
using namespace std;
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int n = digits.size();
// Traverse digits from right to left
for (int i = n - 1; i >= 0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
}
digits[i] = 0;
}
// If all digits were 9 (e.g. 99 -> 100)
vector<int> result(n + 1, 0);
result[0] = 1;
return result;
}
};
/**
* Problem: LeetCode 66 - Plus One
* Difficulty: Easy
* Language: JavaScript
* Author: CodeByTushu
*/
/**
* @param {number[]} digits
* @return {number[]}
*/
var plusOne = function(digits) {
const n = digits.length;
// Traverse digits from right to left
for (let i = n - 1; i >= 0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
}
digits[i] = 0;
}
// If all digits were 9 (e.g. 99 -> 100)
const result = new Array(n + 1).fill(0);
result[0] = 1;
return result;
};