AcWing 774. 最长单词
原题链接
中等
作者:
nanchen
,
2021-02-17 21:12:21
,
所有人可见
,
阅读 364
C++ 代码(利用771题 双指针算法)
#include <iostream>
using namespace std;
int main()
{
string s;
getline(cin, s);
int l = 0, r = 0, cnt = 0;
for(int i = 0; i < s.size(); i ++)
{
int j = i;
while(s[j] != ' ' && s[j] != '.')
j++;
if(j - i > cnt)
{
cnt = j - i;
l = i;
r = j;
}
i = j;
}
for(int i = l; i < r; i ++)
cout << s[i];
return 0;
}
C++ 代码(yxc视频讲解)
#include <iostream>
using namespace std;
int main()
{
string str, res;
while(cin >> str)
{
if(str.back() == '.') str.pop_back(); //back() 找到字符串最后一位,pop_back() 去掉字符串最后一位
if(str.size() > res.size()) res = str;
}
cout << res << endl;
return 0;
}
for循环里处理完一个单词后, 最好执行一下
避免一个单词被扫多次.
哈哈 看了一下 的确是我疏忽了 谢谢指教