在 C++ 中查找字符串中第一个最长偶数长度的单词
在这个问题中,我们有一个由逗号分隔的单词组成的字符串 str。我们的任务是从字符串中找到第一个最大长度的偶数单词。
我们需要找到长度最大且为偶数的“两个空格之间的字符串”。
让我们举个例子来理解这个问题,
Input : str = "learn programming at TutorialsPoint" Output : TutorialsPoint
解释 -
The string with even length is TutorialsPoint.
解决方案方法
解决这个问题的一个简单方法是简单地找到长度大于当前字符串的偶数长度字符串。将 maxString 长度初始化为 0。
算法
步骤 1 - 遍历字符串。
步骤 2 - 检查当前单词的长度是否为偶数,以及单词的长度是否大于最后一个更大的单词。
步骤 3 - 返回单词。
示例
程序说明我们解决方案的工作原理
#include <bits/stdc++.h>
using namespace std;
string findMaxEvenLenWord(string str) {
int len = str.length();
int i = 0; int currWordlen = 0;
int maxWordLen = 0;
int stringPointer = -1;
while (i < len) {
if (str[i] == ' ') {
if (currWordlen % 2 == 0) {
if (maxWordLen < currWordlen) {
maxWordLen = currWordlen;
stringPointer = i - currWordlen;
}
}
currWordlen = 0;
}
else {
currWordlen++;
}
i++;
}
if (currWordlen % 2 == 0) {
if (maxWordLen < currWordlen) {
maxWordLen = currWordlen;
stringPointer = i - currWordlen;
}
}
if (stringPointer == -1)
return "Not Found!";
return str.substr(stringPointer, maxWordLen);
}
int main() {
string str = "Learn programming at Tutorialspoint";
cout<<"The maximum length even word is '"<<findMaxEvenLenWord(str)<<"'";
return 0;
}输出
The maximum length even word is 'Tutorialspoint'
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP