公司新建了网站以前的就网站可以全部删除吗天津刘金鹏做网站
文章目录
- 一【题目类别】
 - 二【题目难度】
 - 三【题目编号】
 - 四【题目描述】
 - 五【题目示例】
 - 六【解题思路】
 - 七【时空频度】
 - 八【代码实现】
 - 九【提交结果】
 
一【题目类别】
- 字符串
 
二【题目难度】
- 简单
 
三【题目编号】
- 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 count
 
- C语言版
 
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语言版

 
