【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