【发布时间】:2020-10-11 11:00:30
【问题描述】:
第一个代码只有两行。
input = "hkiehs nimala"
print(input[::-1])
输出是 alamin sheikh
这是另一个代码,但输出也与 .
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 self.items == []
def peek(self):
if not self.is_empty():
return self.items[-1]
def get_stack(self):
return self.items
def reverse_string(stack, input_str):
for i in range(len(input_str)):
stack.push(input_str[i])
rev_str = ""
while not stack.is_empty():
rev_str += stack.pop()
return rev_str
stack = Stack()
input_str = "alamin sheikh"
print(reverse_string(stack, input_str))
也输出:与第一个代码相同 但是为什么呢? 这里的工作堆栈如何!
谢谢。
【问题讨论】:
-
请修正示例中的缩进。 Formatting help...Formatting sandbox
-
不清楚你在问什么。您是否希望有人详细解释该课程的运作方式?如果是这样,这不是讨论论坛或教程。请使用tour 并花时间阅读How to Ask 以及该页面上的其他链接。花一些时间与the Tutorial 练习示例。 How to debug small programs.
-
我的主要问题。如何通过堆栈工作反向字符串