Python实现 "反转字符串中的元音字母" 的方法

#coding=utf-8
def reverseVowels(s):
    """
    :type s: str
    :rtype: str
    """
    sStr = list(s)
    voList = {'a':0, 'A':0, 'e':0, "E":0, 'i':0, "I":0, 'o':0, 'O':0, 'u':0, 'U':0}
    front = 0
    length = len(sStr)
    back = length - 1
    while front < back:
        while front < length and sStr[front] not in voList:
            front += 1
        while back >= 0 and sStr[back] not in voList:
            back -= 1
        if front < back:
            sStr[front], sStr[back] = sStr[back], sStr[front]
            front += 1
            back -= 1
    return "".join(sStr)

str="hello world!"
print(reverseVowels(str))

输出

hollo werld!

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#coding=utf-8

def reverseVowels(s):
    """
    :type s: str
    :rtype: str
    """
    sStr = list(s)
    voList = {'a':0, 'A':0, 'e':0, "E":0, 'i':0, "I":0, 'o':0, 'O':0, 'u':0, 'U':0}
    front = 0
    length = len(sStr)
    back = length - 1
    while(1):
        while front < length and sStr[front] not in voList:
            front += 1
        while back >= 0 and sStr[back] not in voList:
            back -= 1
        if front < back:
            sStr[front], sStr[back] = sStr[back], sStr[front]
            front += 1
            back -= 1
        else:
            break
    return "".join(sStr)


str="hello world!"
print(reverseVowels(str))
posted @ 2022-10-07 20:38  I'm_江河湖海  阅读(8)  评论(0)    收藏  举报