每日LeetCode - 66. 加一(C语言和Python 3)

2021/5/16 12:25:22

本文主要是介绍每日LeetCode - 66. 加一(C语言和Python 3),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

C语言

int* plusOne(int* digits, int digitsSize, int* returnSize){
    for(int i=digitsSize-1;i>=0;i--){
        if(digits[i]==9){
            digits[i]=0;
        }
        else{
            digits[i]++;
            *returnSize = digitsSize;
            return digits;
        }
    }
    int* result =(int *) malloc(sizeof(int)*(digitsSize+1));
    memset(result, 0, (digitsSize + 1) * sizeof(int)); // set 0 for each bit.
    result[0]=1;
    *returnSize = digitsSize+1;
    return result;
}

Python 3

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        digits[-1] = digits[-1]+1
        for i in range(len(digits)-1,-1,-1):
            if digits[i]>=10:
                digits[i] = digits[i]-10
                if i==0:
                    digits.insert(0,1)
                else:                    
                    digits[i-1] = digits[i-1] + 1
        return digits

 



这篇关于每日LeetCode - 66. 加一(C语言和Python 3)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程