题目: 给定一个仅包含大小写字母和空格 ' ' 的字符串 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 算法合集地址
网友评论