Menu
CoddyTech

Plus One

0以上の整数が、その10進数の各桁を格納した配列digitsとして、最上位桁から順に保存されています。472は[4, 7, 2]です。この数に1を加え、結果の各桁を同じ形式で返してください。この数は最大100桁になることがあり、64ビット整数で扱える桁数を大幅に超えます。

関数

plusOne(digits: integer-array) → integer-array
digitsinteger-array
数値の各桁を、最上位桁から順に
戻り値integer-array
数値の各桁に1を足したもの(最上位桁から順)

制約

  • 1 ≤ digits.length ≤ 100
  • 0 ≤ digits[i] ≤ 9
  • digitsには先頭のゼロはありません。ただし、数値0自体は[0]です。

例

入力
digits = [4, 3, 9]
出力
[4, 4, 0]
説明
数は439で、439 + 1 = 440です。最後の桁の9は0になり、繰り上がりが3に渡されて、3は4になります。

lock icon提出時に隠しテスト+13件

challenge icon

発展問題

代わりに 1 を引くにはどうすればよいでしょうか。数が 1 以上の場合、どの桁が変化し、[1, 0, 0] のように結果の先頭の桁がなくなるのはどんなときでしょうか。

コードをリセット
def plusOne(digits):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

digits = [4, 3, 9]

期待値

[4, 4, 0]