【leetcode】557 Reverse Words in a String III

找到让我认为replace之类的函数是改变本身的罪魁祸首了。就是reverse()函数。作用在list上,而且改变的是原函数,返回的是none。

38.45%

class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        string = s.split(' ')
        for i,char in enumerate(string):
            char = list(char)
            char.reverse()
            string[i] = ''.join(char)
        return ' '.join(string)

------------------------------------

45.53%  自己想到可以不用reverse,直接String就是一个迭代器,倒叙连上就行

class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        string = s.split(' ')
        for i,char in enumerate(string):
            string[i] = ''.join(char[::-1])
        return ' '.join(string)

------------------------------------

一个非常巧妙的方法,直接s[::-1]的话,单词之间会倒叙排列,那就在之前就把单词顺序倒放,最后负负得正

79.06%

class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        return ' '.join(s.split()[::-1])[::-1]

 return ' '.join([x[::-1] for x in s.split()])

------------------------------------


猜你喜欢

转载自blog.csdn.net/u014381464/article/details/80776748