use*_*284 0 c++ string string-length
我正在尝试编写一个函数,该函数将从 a 返回最短的字符串vector<string>:
// Find the shortest string.
string shortestString(vector<string> v) {
string shortest;
int shortss = 0;
int i = 0;
for (string s : v) {
if (i = 0) {
shortss = s.length();
shortest = s;
i++;
}
else if (s.length() < shortss) {
shortss = s.length();
shortest = s;
}
}
return shortest;
}
Run Code Online (Sandbox Code Playgroud)
我不知道我是否犯了一些愚蠢的错误,但它什么也没返回。这是我的main():
int main() {
vector<string> words = { "a", "ab", "abc" };
string shor = shortestString(words);
cout << shor;
}
Run Code Online (Sandbox Code Playgroud)
没有打印任何内容。我究竟做错了什么?
您还可以使用 STL 算法来执行此操作。
smin = *std::min_element(v.begin(), v.end(),
[] (const std::string& s1, const std::string& s2) {
return s1.length() < s2.length(); }
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4640 次 |
| 最近记录: |