利用栈实现字符串的逆序
时间: 2024-05-12 21:16:53 浏览: 15
好的,我了解了您的要求。要实现字符串的逆序,可以利用栈来辅助实现。具体步骤如下:
1. 将字符串的每一个字符依次入栈。
2. 依次出栈每个字符,将其组成一个新的字符串。
3. 新的字符串即为原字符串的逆序。
以下是一个示例代码:
```python
def reverse_string(string):
stack = []
reversed_string = ""
# 将字符串的每一个字符入栈
for char in string:
stack.append(char)
# 依次出栈每个字符,组成新的字符串
while len(stack) > 0:
reversed_string += stack.pop()
return reversed_string
```
调用方式:
```python
string = "Hello world!"
reversed_string = reverse_string(string)
print(reversed_string)
```
输出结果:
```
!dlrow olleH
```
相关问题
利用栈实现字符串的逆序c语言
代码是什么?
下面是一份利用栈实现字符串逆序的 C 语言代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 100
// 定义 Stack 结构体
typedef struct {
char data[MAX_LEN];
int top;
} Stack;
// 初始化栈
void init(Stack *stack) {
stack->top = -1;
}
// 入栈
void push(Stack *stack, char ch) {
if (stack->top == MAX_LEN - 1) {
printf("Stack overflow\n");
exit(1);
}
stack->data[++stack->top] = ch;
}
// 出栈
char pop(Stack *stack) {
if (stack->top == -1) {
printf("Stack underflow\n");
exit(1);
}
return stack->data[stack->top--];
}
// 字符串逆序
void reverse(char *str) {
Stack stack;
init(&stack);
// 将字符串中每个字符入栈
for (int i = 0; i < strlen(str); i++) {
push(&stack, str[i]);
}
// 出栈并输出字符,即可得到逆序字符串
for (int i = 0; i < strlen(str); i++) {
str[i] = pop(&stack);
}
}
int main() {
char str[MAX_LEN];
printf("请输入一个字符串:\n");
scanf("%s", str);
reverse(str);
printf("逆序后的字符串:%s\n", str);
return 0;
}
```
注意,此代码可能不是最优雅的实现方式,但它可以帮助你理解如何利用栈实现字符串逆序的思路。
利用栈实现输入字符串的逆序输出
可以使用一个栈来实现输入字符串的逆序输出。具体方法如下:
1. 遍历输入字符串,依次将每个字符压入栈中;
2. 弹出栈中的字符,依次输出,即可得到输入字符串的逆序输出。
下面是 Python 代码实现:
```python
def reverse_string(s):
stack = []
for c in s:
stack.append(c)
res = ''
while stack:
res += stack.pop()
return res
```
示例:
```python
s = 'hello world'
print(reverse_string(s)) # 输出:dlrow olleh
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)