[Swift]LeetCode434. 字符串中的单词数 | Number of Segments in a String
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9783619.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
Count the number of segments in a string, where a segment is defined to be a contiguous sequence of non-space characters.
Please note that the string does not contain any non-printable characters.
Example:
Input: "Hello, my name is John" Output: 5
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: "Hello, my name is John" 输出: 5
8ms
1 class Solution { 2 func countSegments(_ s: String) -> Int { 3 if s == nil || s.count == 0 {return 0} 4 var word:Int = 0 5 var count:Int = 0 6 //按索引遍历 7 for i in s.indices 8 { 9 if s[i] == " " 10 { 11 if word > 0 12 { 13 count += 1 14 word = 0 15 } 16 } 17 else 18 { 19 word += 1 20 } 21 } 22 if word > 0 23 { 24 count += 1 25 } 26 return count 27 } 28 }
8ms
1 class Solution { 2 func countSegments(_ s: String) -> Int { 3 var count = 0 4 var segmentInProgress = false 5 for char in s { 6 if char != " " && !segmentInProgress { 7 count += 1 8 segmentInProgress = true 9 } else if char == " " { 10 segmentInProgress = false 11 } 12 } 13 14 return count 15 } 16 }
12ms
1 class Solution { 2 func countSegments(_ s: String) -> Int { 3 return s.split(separator: " ").count 4 } 5 }
16ms
1 class Solution { 2 func countSegments(_ s: String) -> Int { 3 return s.characters.split(separator: " ").count 4 } 5 }