Skip to content

Latest commit

 

History

History
41 lines (34 loc) · 975 Bytes

151. 翻转字符串里的单词.md

File metadata and controls

41 lines (34 loc) · 975 Bytes

题目:

给定一个字符串,逐个翻转字符串中的每个单词。

示例 1:

输入: "the sky is blue"
输出: "blue is sky the"
示例 2:

输入: "  hello world!  "
输出: "world! hello"
解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。

解析1:

拆分,倒序,拼接,全都是python的split的强大。

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

解析2:

遍历添加法,去掉两边的空格,然后从尾部开始倒着添加。

class Solution:
    def reverseWords(self, s: str) -> str:
        s = s.strip()
        res = ""
        i, j = len(s) - 1, len(s)
        while i > 0:
            if s[i] == ' ':
                res += s[i + 1: j] + ' '
                while s[i] == ' ': i -= 1
                j = i + 1
            i -= 1
        return res + s[:j]