LeetCode 151 Reverse Words in a String 解题思路和python代码

题目:

Given an input string s, reverse the order of the words.

A word is defined as a sequence of non-space characters. The words in s will be separated by at least one space.

Return a string of the words in reverse order concatenated by a single space.

Note that s may contain leading or trailing spaces or multiple spaces between two words. The returned string should only have a single space separating the words. Do not include any extra spaces.

Example 1:

Input: s = "the sky is blue"

Output: "blue is sky the"

Example 2:

Input: s = " hello world "

Output: "world hello"

Explanation: Your reversed string should not contain leading or trailing spaces.

Example 3:

Input: s = "a good example"

Output: "example good a"

Explanation: You need to reduce multiple spaces between two words to a single space in the reversed string.

Constraints:

1 <= s.length <= 104

s contains English letters (upper-case and lower-case), digits, and spaces ' '.

There is at least one word in s.

Follow-up: If the string data type is mutable in your language, can you solve it in-place with O(1) extra space?

解题思路:

首先,去掉前后空格。

然后,利用split()将string按空格分割成一个单词list。

接着,反转单词list。

最后,将反转后的单词list用空格连接起来。

例子:
" hello world ",先去掉前后空格得到 ["hello", "world"],反转后是 ["world", "hello"],输出 "world hello"

python 复制代码
class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        words = s.strip().split()
        reverse_words = words[::-1]
        return ' '.join(reverse_words)
相关推荐
heda3几秒前
zip在linux上解压出错Unicode编码-解决
linux·运维·python
至此流年莫相忘8 分钟前
正则表达式之捕获分组——Python篇
python·正则表达式
战族狼魂8 分钟前
Python 完整实现 BCrypt GUI 工具
java·前端·python
小二·17 分钟前
Python Web 开发进阶实战:国际化(i18n)与多语言支持 —— Vue I18n + Flask-Babel 全栈解决方案
前端·vue.js·python
程序员-King.21 分钟前
day128—二分查找—搜索二维矩阵(LeetCode-74)
leetcode·矩阵·二分查找
小二·23 分钟前
Python Web 开发进阶实战:API 安全与 JWT 认证 —— 构建企业级 RESTful 接口
前端·python·安全
Allen_LVyingbo26 分钟前
具备安全护栏与版本化证据溯源的python可审计急诊分诊平台复现
开发语言·python·安全·搜索引擎·知识图谱·健康医疗
weixin1997010801628 分钟前
安家 GO item_get - 获取安家详情数据接口对接全攻略:从入门到精通
java·大数据·python·golang
Wzx19801230 分钟前
自研开发的前后端项目部署流程
vue.js·python
VT.馒头33 分钟前
【力扣】2627. 函数防抖
前端·javascript·算法·leetcode