58. 最后一个单词的长度

最后一个单词的长度

class Solution {
    func lengthOfLastWord(_ s: String) -> Int {
        var str = s
        
         str = str.trimmingCharacters(in: .whitespaces)
        if str.count <= 0 {
            return 0
        }
        
        if str .contains(" ") {
            let position2 = str.positionOf(sub: " ", backwards: true)
           
                return str.count-position2-1
            
            
            
        }else{
            return str.count
        }
    }
}

extension String {
    //返回第一次出现的指定子字符串在此字符串中的索引
    //(如果backwards参数设置为true,则返回最后出现的位置)
    func positionOf(sub:String, backwards:Bool = false)->Int {
        var pos = -1
        if let range = range(of:sub, options: backwards ? .backwards : .literal ) {
            if !range.isEmpty {
                pos = self.distance(from:startIndex, to:range.lowerBound)
            }
        }
        return pos
    }
}

你可能感兴趣的:(58. 最后一个单词的长度)