leet code - Plus One

skyepodium·2021년 8월 1일
0

배열을 변경해야하는 경우가 있어서 확실히 이런 경우는 파이썬이 편하다.

java

class Solution {
    public int[] plusOne(int[] digits) {
        int size =digits.length;
        int idx = size - 1;
        digits[idx] += 1;

        while (idx >= 0) {
            int val = digits[idx];

            if(val >= 10) {
                digits[idx] = 0;

                if(idx == 0) {
                    int []result_list = new int[size + 1];
                    result_list[0] = 1;

                    for(int i=1; i<size; i++) {
                        result_list[i] = digits[i-1];
                    }

                    return result_list;
                }
                else{
                    digits[idx-1] += 1;
                }
            }
            idx--;
        }

        return digits;
    }
}

python3

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        idx = len(digits) - 1
        digits[idx] += 1

        while idx >= 0:
            val = digits[idx]

            if val >= 10:
                digits[idx] = 0
                if idx == 0:
                    digits = [1] + digits
                else:
                    digits[idx - 1] += 1

            idx -= 1

        return digits;
profile
callmeskye

0개의 댓글