Words in a String III(#557)

编号 名称 等级
557 Words in a String III Easy

思路

这个题是要将给出的句子中的每个单词进行反转,这个反转的方法在 StringBuilder/StringBuffer 都用提供。所以整个题的难度会化简的很小。关键在知道不知道有这个方法。

首先对字符串进行分割,分割为每个单词,在对么个单词进行反转。

代码

class Solution {
    fun selfDividingNumbers(left: Int, right: Int): List<Int> {
        var result = ArrayList<Int>()
        for (i in left..right) {
            var list = ArrayList<Int>()
            val arrayList = foo(i, list)
            var sum = 0
            arrayList.map {
                if (it != 0 && i % it == 0) {
                    sum += 1
                }
            }
            if (sum == arrayList.size) {
                result.add(i)
            }
        }
        return result
    }
    
    fun foo(num: Int, list: ArrayList<Int>): ArrayList<Int> {
        if ((num / 10 == 0) and (num % 10 == 0)) {
            return list
        }
        list.add(num % 10)
        val nums = num / 10
        foo(nums, list)
        return list
    }
}