string中将字符串颠倒的函数
时间: 2023-07-08 13:09:42 浏览: 66
以下是一个将字符串颠倒的函数的示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
string reverseString(string str) {
int n = str.length();
for (int i = 0; i < n / 2; i++) {
swap(str[i], str[n - i - 1]);
}
return str;
}
int main() {
string str = "Hello World!";
cout << "Original String: " << str << endl;
cout << "Reversed String: " << reverseString(str) << endl;
return 0;
}
```
在这个函数中,我们遍历字符串中的前一半字符,并交换它们与字符串中对应的后一半字符。最后,我们返回颠倒后的字符串。在主函数中,我们调用这个函数并打印输出原始字符串和颠倒后的字符串。
输出结果:
```
Original String: Hello World!
Reversed String: !dlroW olleH
```
注意,这个函数使用了 `swap()` 函数来交换字符,需要包含头文件 `<algorithm>`。
相关问题
字符串颠倒函数
好的,下面是一个简单的字符串颠倒函数的实现:
```python
def reverse_string(s):
return s[::-1]
```
这个函数的实现很简单,它使用了列表切片的语法来将字符串翻转。具体来说,`s[::-1]` 表示从字符串的最后一个字符到第一个字符,每次步长为 `-1`,也就是逆序遍历整个字符串。
std::string 实现字符串 replace 函数
可以使用 string::find 和 string::replace 函数来实现字符串 replace 函数,以下是一个示例实现:
```c++
#include <iostream>
#include <string>
void replaceAll(std::string& str, const std::string& oldStr, const std::string& newStr) {
size_t pos = 0;
while ((pos = str.find(oldStr, pos)) != std::string::npos) {
str.replace(pos, oldStr.length(), newStr);
pos += newStr.length();
}
}
int main() {
std::string str = "Hello, World!";
std::cout << "Original string: " << str << std::endl;
replaceAll(str, "World", "John Doe");
std::cout << "Replaced string: " << str << std::endl;
return 0;
}
```
输出:
```
Original string: Hello, World!
Replaced string: Hello, John Doe!
```
该示例中,replaceAll 函数接受三个参数:一个要修改的字符串,一个要替换的子字符串和一个新的子字符串。它使用 string::find 函数来查找要替换的子字符串的位置,并使用 string::replace 函数将其替换为新的子字符串。另外,由于 string::replace 函数会改变原始字符串的长度,因此在每次替换后需要将查找位置增加新子字符串的长度。