公司新建了网站以前的就网站可以全部删除吗,网站制作推荐,做兼职一般去哪个网站好,番禺人才网最新招聘市场在哪里?文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【时空频度】八【代码实现】九【提交结果】 一【题目类别】
字符串
二【题目难度】
简单
三【题目编号】
434.字符串中的单词数
四【题目描述】
统计字符串中的单词个… 文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【时空频度】八【代码实现】九【提交结果】 一【题目类别】
字符串
二【题目难度】
简单
三【题目编号】
434.字符串中的单词数
四【题目描述】
统计字符串中的单词个数这里的单词指的是连续的不是空格的字符。请注意你可以假定字符串里不包括任何不可打印的字符。
五【题目示例】
示例: 输入: “Hello, my name is John”输出: 5解释: 这里的单词是指连续的不是空格的字符所以 “Hello,” 算作 1 个单词。
六【解题思路】
根据题意可知单词由空格分隔所以我们可以通过空格的数量来计算单词的数量即如果当然字母不为空格且当前字母的前一个位置为空格那么以当前字母开始就是一个单词不过需要注意第一个单词需要特殊处理因为第一个单词前面没有空格最后返回结果即可具体细节可以参考下面的代码
七【时空频度】
时间复杂度 O ( n ) O(n) O(n) n n n为传入的字符串的长度空间复杂度 O ( 1 ) O(1) O(1)
八【代码实现】
Java语言版
class Solution {public int countSegments(String s) {// 计数单词int count 0;for (int i 0; i s.length(); i) {// 以空格分割单词来计数要注意第一个单词要特殊处理if ((i 0 || s.charAt(i - 1) ) s.charAt(i) ! ) {count;}}// 返回结果return count;}
}Python语言版
class Solution:def countSegments(self, s: str) - int:# 计数单词count 0for i in range(0, len(s)):# 以空格分割单词来计数要注意第一个单词要特殊处理if (i 0 or s[i - 1] ) and s[i] ! :count 1# 返回结果return countC语言版
int countSegments(char* s)
{// 计数单词int count 0;for (int i 0; i strlen(s); i){// 以空格分割单词来计数要注意第一个单词要特殊处理if ((i 0 || s[i - 1] ) s[i] ! ){count;}}// 返回结果return count;
}九【提交结果】 Java语言版 Python语言版 C语言版