您的当前位置:首页正文

用 Swift 刷 LeetCode No.258 - Add

来源:要发发知识网
add_digits.png

题目 Easy 级别,也是目前我第一道一遍写成就通过的题目(无语法错误无错误无超时,爽爽爽)!

通过的代码如下,还用了一下 Array 的 reduce:

class Solution {
  func addDigits(num: Int) -> Int {
        if num < 10 {
            return num
        }
        var numbers = [Int]()
        var n = num
        let base = 10
        while n > 0 {
            numbers.append(n % base)
            n /= base
        }
        let sum = numbers.reduce(0) {
            $0 + $1
        }
        return addDigits(sum)
    }

}