网站建设的实验的结论,个人网页设计风格分析,电子商务推广网站,要怎么判断网站是什么cms做的Every day a leetcode
题目来源#xff1a;434. 字符串中的单词数
解法1#xff1a;istringstream
我们知道#xff0c;C默认通过空格#xff08;或回车#xff09;来分割字符串输入#xff0c;即区分不同的字符串输入。
istringstream类用于执行C风格的串流的输入操…Every day a leetcode
题目来源434. 字符串中的单词数
解法1istringstream
我们知道C默认通过空格或回车来分割字符串输入即区分不同的字符串输入。
istringstream类用于执行C风格的串流的输入操作。它的作用是从string对象str中读取字符用空格作为字符串分隔符。
代码
/** lc appleetcode.cn id434 langcpp** [434] 字符串中的单词数*/// lc codestart
class Solution
{
public:int countSegments(string s){istringstream iss(s);vectorstring words;string word;while (iss word)words.push_back(word);return words.size();}
};
// lc codeend
结果 复杂度分析
时间复杂度O(n)其中n是字符串s的长度。
空间复杂度O(n/2)其中n是字符串s的长度。
解法2遍历
计算字符串中单词的数量就等同于计数单词的第一个下标的个数。因此我们只需要遍历整个字符串统计每个单词的第一个下标的数目即可。
满足单词的第一个下标有以下两个条件
该下标对应的字符不为空格该下标为初始下标或者该下标的前下标对应的字符为空格
代码
/** lc appleetcode.cn id434 langcpp** [434] 字符串中的单词数*/// lc codestart
// class Solution
// {
// public:
// int countSegments(string s)
// {
// istringstream iss(s);
// vectorstring words;
// string word;
// while (iss word)
// words.push_back(word);
// return words.size();
// }
// };class Solution
{
public:int countSegments(string s){int count 0;for (int i 0; i s.size(); i)if ((i 0 || s[i - 1] ) s[i] ! )count;return count;}
};
// lc codeend
结果 复杂度分析
时间复杂度O(n)
空间复杂度O(1)