王廷瑋|數位醫療|智慧醫療: 66. Plus One WFU

2024年7月4日 星期四

66. Plus One

66. Plus One


給定一個由整數數組 digits 表示的大整數,其中 digits[i] 是該整數的第 i 位數字。數字按從最高有效位到最低有效位的順序排列,且大整數不包含任何前導 0。

將大整數加一,並返回結果數組。

範例 1:

輸入:digits = [1,2,3] 輸出:[1,2,4] 解釋:數組表示整數 123。 加一後得到 123 + 1 = 124。 因此,結果應為 [1,2,4]。


Python


from typing import List

class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
n = len(digits)
# Traverse the digits array from the end
for i in range(n-1, -1, -1):
if digits[i] < 9:
digits[i] += 1
return digits
digits[i] = 0
# If all digits are 9
return [1] + digits

16.4MB, 29ms


C++


#include <vector>
using namespace std;

class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int n = digits.size();
// Traverse the digits array from the end
for (int i = n - 1; i >= 0; --i) {
if (digits[i] < 9) {
digits[i] += 1;
return digits;
}
digits[i] = 0;
}
// If all digits are 9
vector<int> result(n + 1, 0);
result[0] = 1;
return result;
}
};

10.16MB, 2ms


Javascript


/**
* @param {number[]} digits
* @return {number[]}
*/
var plusOne = function(digits) {
let n = digits.length;

// Traverse the digits array from the end
for (let i = n - 1; i >= 0; i--) {
if (digits[i] < 9) {
digits[i] += 1;
return digits;
}
digits[i] = 0;
}

// If all digits are 9
digits.unshift(1);
return digits;
};

48.78MB, 44ms