用栈来实现字符串逆序存储,不需要设置字符串存储空间。
时间: 2024-02-11 18:08:22 浏览: 24
好的,下面是用栈来实现字符串逆序存储的示例代码:
```python
class Stack:
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def is_empty(self):
return len(self.items) == 0
def reverse_string(string):
stack = Stack()
for char in string:
stack.push(char)
reversed_string = ""
while not stack.is_empty():
reversed_string += stack.pop()
return reversed_string
# 测试
string = "Hello, world!"
reversed_string = reverse_string(string)
print(reversed_string)
```
在这个示例中,我们首先定义了一个栈类 `Stack`,它包含了三个方法:`push()`,`pop()` 和 `is_empty()`。其中 `push()` 方法用于向栈中添加元素,`pop()` 方法用于从栈中弹出元素,`is_empty()` 方法用于判断栈是否为空。
然后,我们定义了一个函数 `reverse_string()`,它接受一个字符串作为参数,并使用栈来将字符串逆序存储。具体实现过程如下:
1. 首先,我们创建一个空的栈 `stack`。
2. 然后,我们遍历字符串中的每一个字符,将其依次压入栈中。
3. 接着,我们创建一个空的字符串 `reversed_string`。
4. 最后,我们从栈中弹出每一个字符,并将其添加到 `reversed_string` 中,直到栈为空为止。
最终,我们将逆序存储后的字符串返回,并在主程序中进行测试。