zoukankan      html  css  js  c++  java
  • leetcode66 Plus One

     1 """
     2 Given a non-empty array of digits representing a non-negative integer, plus one to the integer.
     3 The digits are stored such that the most significant digit is at the head of the list, and each element in the array contain a single digit.
     4 You may assume the integer does not contain any leading zero, except the number 0 itself.
     5 Example 1:
     6 Input: [1,2,3]
     7 Output: [1,2,4]
     8 Explanation: The array represents the integer 123.
     9 Example 2:
    10 Input: [4,3,2,1]
    11 Output: [4,3,2,2]
    12 Explanation: The array represents the integer 4321.
    13 """
    14 """
    15 解法一:从后向前迭代。当迭代到最高位时如果要进位
    16 需要再次判断,运用了insert(a, b)函数。表示在位置a前插入b元素
    17 """
    18 class Solution1:
    19     def plusOne(self, digits):
    20         carry = 0
    21         digits[len(digits)-1] += 1
    22         for i in range(len(digits)-1, -1, -1):
    23             if digits[i]+carry == 10:
    24                 digits[i] = 0
    25                 carry = 1
    26                 if i == 0:
    27                     digits.insert(i, 1)
    28             else:
    29                 digits[i] += carry
    30                 carry = 0
    31         return digits
    32 """
    33 解法二:递归
    34 """
    35 class Solution2:
    36     def plusOne(self, digits):
    37         if len(digits) == 1 and digits[0] == 9:
    38             return [1, 0]
    39         if digits[-1] != 9:
    40             digits[-1] += 1
    41             return digits
    42         else:
    43             digits[-1] = 0
    44             digits[:-1] = self.plusOne(digits[:-1])
    45         return digits
  • 相关阅读:
    QTextStream 居然接受FILE*这样的传统参数
    基于IOCP的高速文件传输代码
    tornado web框架
    Kaggle入门
    NET Core 介绍
    Wireshark
    设计和应用分布式调用跟踪系统
    Visual Studio Code和Docker开发asp.net core和mysql应用
    背单词
    多环境开发
  • 原文地址:https://www.cnblogs.com/yawenw/p/12425680.html
Copyright © 2011-2022 走看看