Given an input string, reverse the string word by word.

来源:互联网 发布:中国制造2025 知乎 编辑:程序博客网 时间:2024/05/17 07:38
题目: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())
实现:
0 0
原创粉丝点击