c++string倒转
时间: 2023-11-24 18:53:34 浏览: 118
以下是两种C++ string倒转的例子:
1.使用cstring库中的strrev函数
```cpp
#include<iostream>
#include<cstring>
using namespace std;
int main() {
char s[] = "hello";
strrev(s);
cout << s << endl; // 输出:olleh
return 0;
}
```
2.使用algorithm库中的reverse函数
```cpp
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main() {
string s = "hello";
reverse(s.begin(), s.end());
cout << s << endl; // 输出:olleh
return 0;
}
```
相关问题
c++ string 倒转
在 C++ 中,可以使用多种方法来倒转 `std::string` 类型的字符串。这里列举两种常见的做法:
1. **使用 `reverse()` 函数**:
```cpp
#include <algorithm>
std::string str = "Hello, World!";
std::reverse(str.begin(), str.end());
```
这里我们使用了 `<algorithm>` 头文件里的 `reverse()` 函数,它会直接修改原字符串。
2. **自定义函数实现反转**:
```cpp
void reverseString(std::string& str) {
int start = 0, end = str.length() - 1;
while (start < end) {
std::swap(str[start], str[end]);
start++;
end--;
}
}
std::string str = "Hello, World!";
reverseString(str);
```
自己编写一个循环,交换字符串首尾字符,直到整个字符串都被处理。
c++倒转数字字符串的代码
在C++中,反转数字字符串的一种常见方法是使用栈(Stack)。你可以创建一个临时字符数组存储原始字符串的字符,并按照相反的顺序将它们压入栈中,然后从栈顶取出并连接成新的字符串。以下是这个过程的一个示例代码:
```cpp
#include <iostream>
#include <stack>
#include <string>
std::string reverseNumberString(const std::string& numStr) {
std::stack<char> charStack;
for (char ch : numStr) {
if (ch >= '0' && ch <= '9') { // 只保留数字字符
charStack.push(ch);
}
}
std::string reversedNumStr = "";
while (!charStack.empty()) {
reversedNumStr += charStack.top();
charStack.pop();
}
return reversedNumStr;
}
int main() {
std::string input = "123456";
std::cout << "Reversed string is: " << reverseNumberString(input) << std::endl;
return 0;
}
```
在这个代码中,`reverseNumberString`函数接收一个数字字符串,遍历它并将非数字字符忽略,只将数字字符存入栈中。最后,当栈为空时,所有数字已按逆序添加到`reversedNumStr`中。
阅读全文