c++ stl字符串翻转
时间: 2023-07-24 18:08:04 浏览: 128
你可以使用C++的STL库中的`reverse`函数来翻转字符串。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string str = "Hello, World!";
std::reverse(str.begin(), str.end());
std::cout << str << std::endl;
return 0;
}
```
运行以上代码,输出将会是`!dlroW ,olleH`,即翻转后的字符串。使用`std::reverse`函数可以方便地对字符串进行翻转操作。
相关问题
C++STL去实现字符串翻转
可以使用STL中的reverse函数实现字符串翻转,具体代码如下:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
string str = "Hello, world!";
reverse(str.begin(), str.end());
cout << str << endl;
return 0;
}
```
输出结果为:"!dlrow ,olleH"。
c++ stl 2个字符串 公共子串
c++ stl提供了一种简便的方式来找到两个字符串的公共子串,即使用string类中的find函数。find函数可以在一个字符串中查找另一个字符串的第一次出现位置。我们可以通过遍历其中一个字符串的所有子串,然后在另一个字符串中查找该子串是否存在来判断是否为公共子串。
具体的步骤如下:
1. 在主函数中定义两个字符串str1和str2,并初始化它们。
2. 使用两个嵌套循环遍历str1的所有子串,并分别将其存储在string类型的变量substr中。
3. 使用str2的find函数在str2中查找substr是否存在。如果存在,说明substr是两个字符串的公共子串,可以将其输出或保存。
4. 完成循环后,我们就可以得到所有的公共子串。
需要注意的是,该方法只能找到两个字符串的最短公共子串,如果需要找到所有的公共子串,需要进一步处理。另外,该方法的时间复杂度较高,因为涉及到了两个嵌套循环,所以在处理较长的字符串时效率可能较低。
总结:c++ stl提供了一种简便的方式来找到两个字符串的公共子串,即使用string类中的find函数。可以通过遍历其中一个字符串的所有子串,并在另一个字符串中查找子串是否存在来判断是否为公共子串。该方法的时间复杂度较高,处理较长的字符串时可能效率较低。
阅读全文