【python】如何实现单词反转?

作者: 阿牛02 | 来源:发表于2019-07-25 11:38 被阅读0次

    题目:把一个句子中的单词进行反转,例如“how are you”变为“you are how”。

    分析:对字符串进行两次反转操作,第一次对整个字符串中的字符进行反转,反转结果为:uoy era woh,通过这一次的反转已经实现了单词顺序的反转,只不过每个单词中字符的顺序反了,接下来只需要对每个单词进行字符反转即可得到想要的结果:you are how。

    code:

    def reverseStr(listStr, i, j):

        while i < j:

            tmp = listStr[i]

            listStr[i] = listStr[j]

            listStr[j] = tmp

            i += 1

            j -= 1

    def swapWords(str):

        lens = len(str)

        ch = list(str)

        # 对整个字符串进行字符反转操作

        reverseStr(ch, 0, lens - 1)

        begin = 0

        # 对每个单词进行字符反转操作

        i = 1

        while i < lens:

            if ch[i] == ' ':

                reverseStr(ch, begin, i - 1)

                begin = i + 1

            i += 1

        reverseStr(ch, begin, lens - 1)

        return ''.join(ch)

    if __name__ == "__main__":

        str = "how are you"

        print(swapWords(str))

    程序运行结果:
    you are how

    相关文章

      网友评论

        本文标题:【python】如何实现单词反转?

        本文链接:https://www.haomeiwen.com/subject/nvwtrctx.html