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)
相关推荐
小学鸡!13 小时前
部署jar包时指定配置文件
java·python·jar
南_山无梅落13 小时前
7.1-Python3序列:列表(list)与元组(tuple)核心操作
开发语言·python
前端小白在前进13 小时前
★力扣刷题:LRU缓存
spring·leetcode·缓存
Q_Q51100828513 小时前
python+springboot+django/flask时尚内衣销售数据可视化和预测系统
spring boot·python·django·flask·node.js·php
川川菜鸟13 小时前
多域名 · 多节点 · 自动择优访问
python
C嘎嘎嵌入式开发13 小时前
【NLP实战项目:中文文本分类】数据集THUCNews
人工智能·python·机器学习·自然语言处理
winfredzhang13 小时前
用 Python 手搓一个 PDF 编辑器:wxPython 与 PyMuPDF 实战详解
python·pdf·合并·缩略图·书签
python机器学习ML13 小时前
EconML实战:使用DeepIV、DROrthoForest与CausalForestDML进行因果推断详解
人工智能·python·机器学习·数据挖掘·数据分析·scikit-learn·sklearn
小年糕是糕手13 小时前
【C++】模板初阶
java·开发语言·javascript·数据结构·c++·算法·leetcode
线程A13 小时前
Python中 session flush 和 commit 的区别
数据库·python·oracle