题目:Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue",
return "blue is sky the".
思路:用栈实现,利用两个栈stackWord,stackSentence,一个存单词,一个存句子,遇到“ ”之前将字符存于stackWord中,当遇到“ ”后,将stackWord中的字符出栈进入stackSentence中,最后直接出栈stackSentence中的句子就行了。
代码:
from Stack import Stack1
A=input('请输入句子:')
stackWord=Stack1(A)
stackSentence=Stack1(A)
for i in range(len(A)):
if i==len(A) or A[i]==' ':
if not stackWord.isempty():
if not stackSentence.isempty():
stackSentence.push(" ")
while not stackWord.isempty():
stackSentence.push(stackWord.pop())
else:stackWord.push(A[i])
i+=1
while not stackSentence.isempty():
print(stackSentence.pop())
For example,
Given s = "the sky is blue",
return "blue is sky the".
思路:用栈实现,利用两个栈stackWord,stackSentence,一个存单词,一个存句子,遇到“ ”之前将字符存于stackWord中,当遇到“ ”后,将stackWord中的字符出栈进入stackSentence中,最后直接出栈stackSentence中的句子就行了。
代码:
from Stack import Stack1
A=input('请输入句子:')
stackWord=Stack1(A)
stackSentence=Stack1(A)
for i in range(len(A)):
if i==len(A) or A[i]==' ':
if not stackWord.isempty():
if not stackSentence.isempty():
stackSentence.push(" ")
while not stackWord.isempty():
stackSentence.push(stackWord.pop())
else:stackWord.push(A[i])
i+=1
while not stackSentence.isempty():
print(stackSentence.pop())
实现: