千家信息网

leecode如何解决翻转字符串里的单词问题

发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,小编给大家分享一下leecode如何解决翻转字符串里的单词问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!给定一个字符串
千家信息网最后更新 2024年10月21日leecode如何解决翻转字符串里的单词问题

小编给大家分享一下leecode如何解决翻转字符串里的单词问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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

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


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

说明:

无空格字符构成一个单词。

输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。

如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。


进阶:

请选用 C 语言的用户尝试使用 O(1) 额外空间复杂度的原地解法。



考点:字符串的相关操作

思路:

  • 转换为字符串列表,反转拼接

  • 双指针,遇到空格保存到列表中

class Solution:    def reverseWords(self, s: str) -> str:        if s is None or len(s) < 1:            return s        '''        new_s = s.strip(' ')        new_s = new_s.split()        new_s.reverse()        return ' '.join(new_s)        '''
# 双指针 res = [] s = s.strip() i = j = len(s) - 1 res = [] while i >= 0: while i >= 0 and s[i] != ' ': i -= 1 # 搜索首个空格 res.append(s[i + 1: j + 1]) # 添加单词 while s[i] == ' ': i -= 1 # 跳过单词间空格 j = i # j 指向下个单词的尾字符 return ' '.join(res) # 拼接并返回

以上是"leecode如何解决翻转字符串里的单词问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

字符 单词 空格 字符串 输入 示例 篇文章 输出 问题 两个 内容 指针 解释 复杂 不怎么 原地 复杂度 大部分 思路 指向 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器管理器里的角色在哪儿 大话四下服务器哪个最快到四上 总是显示服务器异常 把表导入数据库追加一个字段 我的世界服务器账号怎么填 我的世界如何创建自己服务器 邯郸软件开发培训机构 京港澳高速哪个服务器可以做核酸 金川公司网络安全学习app 数据库的权限配置文件 乌托邦起源服务器开服时间 计算机网络安全的发展及好处 黑匣子数据库 驻马店网络安全进基层2019 政府预算分析软件开发 辽宁网络安全应急中心地址 如何密令导入数据库 傲雪凌霜服务器现在为什么那么卡 vm虚拟机连接不了数据库 网络技术在智能城市应用 属于网络安全设计范围是 工程信息网络安全 hp塔式服务器维修方案 数据库经历几个阶段 蜂窝网络安全海报 ipad邮箱收件服务器 戴尔电脑网络安全密钥不匹配 计算机网络与数据库填空题 网络安全人才培养情况 猜鸡藕软件开发
0