python3翻转字符串里的单词

python3翻转字符串里的单词

151. 翻转字符串里的单词

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

说明:

无空格字符构成一个 单词 。
输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

示例 1:

输入:“the sky is blue”
输出:“blue is sky the”
示例 2:

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

输入:“a good example”
输出:“example good a”
解释:如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
示例 4:

输入:s = ” Bob Loves Alice “
输出:“Alice Loves Bob”
示例 5:

输入:s = “Alice does not even like bob”
输出:“bob like even not does Alice”

思路1:
传统思路:先使用strip()函数将首尾空格去掉;特别注意,中间的空格可能不止一个。采用双指针,从后遍历字符串,遇到的第一个空格,回退一个到j的位置就会取出一个字符串。
在这里插入图片描述
在这里插入图片描述

class Solution:
    def reverseWords(self, s: str) -> str:
        s = s.strip()
        i = len(s)-1
        j = i+1
        resverse = []
        while i>=0:
            while i >= 0 and s[i] != ' ': i -= 1 
            resverse.append(s[i + 1: j]) 
            while s[i] == ' ': i -= 1 
            j = i+1
        return ' '.join(resverse).strip()

思路2:
在这里插入图片描述

class Solution:
    def reverseWords(self, s: str) -> str:
        s = s.strip()
        s = s.split()
        s.reverse()
        return ' '.join(s)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100102.html原文链接:https://javaforall.net

(0)
上一篇 2021年4月16日 下午7:00
下一篇 2021年4月16日 下午9:00


相关推荐

  • 正规矩阵

    正规矩阵将学习以什么关于正规矩阵的基础知识理解正规矩阵定义 定义 1 矩阵 A inM n 称为是正规的 如果 AA A A 也就是 如果 A 与它的共轭转置可交换 根据定义可以得出以下结论 如果 A inM n 是正规的 且 alpha in mathbb C 显然 alphaA 是正规的 即正规矩阵

    2026年3月20日
    1
  • 《github一天,一个算术题》:堆算法接口(堆排序、堆插入和堆垛机最大的价值,并删除)

    《github一天,一个算术题》:堆算法接口(堆排序、堆插入和堆垛机最大的价值,并删除)

    2022年1月10日
    47
  • pycharm怎么设置注释颜色_pycharm调颜色

    pycharm怎么设置注释颜色_pycharm调颜色”””代码块注释”””单行注释颜色设置Preferences–>Editor–>CorlorScheme–>Python–LineComment多行注释颜色设置: 1)修改函数内部代码块说明颜色Preferences–>Editor–>CorlorScheme–>Python–Docstring–>Text2)修改多行注释颜色Preferences–>…

    2022年8月28日
    5
  • pycharm 远程调试linux

    pycharm 远程调试linux由于代码编写时需要在虚拟机 服务器上配置两套各种组件 算法模型的环境 因此直接通过 pycharm 进行远程调试 1 配置说明打开 pycharm 的 tools 打开 configuratio 新建 SFTP 连接 输入服务器 ip 用户名 密码 保存后测试连接是否成功 2 开始调试打开 pycharm 的 settings 工具 添加服务器上的 python 解释器 注意这里需要点击 Move 配置代码的映射路径 此时本地上的代码将自动更新到映射的服务器地址 如果不想自动更新 也可以选择关闭该功能

    2026年3月16日
    2
  • Unzip Yearly Subscription_@mapkey注解

    Unzip Yearly Subscription_@mapkey注解原文:http://werkzeug.pocoo.org/docs/0.12/local/#werkzeug.local.LocalProxySoonerorlateryouhavesomethingsyouwanttohaveineverysinglevieworhelperfunctionorwhatever.InPHPthewayt

    2026年4月13日
    6
  • win10开虚拟机就重启_虚拟机装win10怎么用

    win10开虚拟机就重启_虚拟机装win10怎么用win10虚拟机自动关机可能是因为系统未激活导致!右键查看属性,可看到虚拟机的激活状态!如果显示未激活,需要激活!命令激活步骤:1.以管理员身份运行windowspowershell2.键入命令slmgr/ipkP9C2R-NM3BW-JR7DG-2R38J-D9MPF弹出窗口提示:“成功的安装了产品密钥”。红色部分为激活码,不可用的话,试试其他的(W269N-WFGW…

    2025年11月14日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号