IOS 算法(基础篇) -----最后一个单词的长度

2020-09-23  本文已影响0人  ShawnAlex

题目: 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。

例如:
输入: "Hello Shawn"
输出: 5

输入: "Hello Alex"
输出: 4

解题思路

思路一 方法很容易理解, 分割字符串, 取最后元素返回其长度

具体方法
1.去掉首尾空格(这个很容易漏掉)
2.以" "分割字符串
3.返回数组最后元素的长度

    func lengthOfLastWord(_ s: String) -> Int {
        let send =  s.trimmingCharacters(in: CharacterSet.whitespaces)
        let arr = send.components(separatedBy: " ");
        return arr.last!.count
    }

思路二 方法同样很容易理解, 翻转字符串, 遍历直到第一个空格, 返回

具体方法
1.去掉首尾空格(这个还是很容易漏掉)
2.for循环 翻转之后的字符串
3.有空格, 结束for循环返回数组最后元素的长度

    func lengthOfLastWord(_ s: String) -> Int {
        let send =  s.trimmingCharacters(in: CharacterSet.whitespaces)
        var result = 0
        for i in send.reversed() {
            if i == " " {
                return result;
            }
            result += 1
        }
        return result;
    }

题目来源:力扣(LeetCode) 感谢力扣爸爸 :)
IOS 算法合集地址

上一篇下一篇

猜你喜欢

热点阅读