leecode如何解决翻转字符串里的单词问题
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,小编给大家分享一下leecode如何解决翻转字符串里的单词问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!给定一个字符串
千家信息网最后更新 2025年02月04日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安全错误
数据库的锁怎样保障安全
花溪租房软件开发
2019巅峰极客网络安全
软件开发爱的访谈以及就业规划
数据库中怎么执行show语句
v聊软件开发
浙江基础网络技术常见问题
滨湖区机电软件开发维修电话
网络技术公司增值税税率
壹贰叁广东互联网科技有限公司
搞网络技术的人戴什么手表好看
网络安全演讲稿5分钟
iis服务器的域名
牛为网络技术有限公司
肖帥网站建设软件开发
数据库check命令怎么打
人口官方数据库
福州金鑫网络技术
sql数据库中如何删除用户
数据库的恢复技术不包括
家庭自己搞服务器
初中生网络安全案例视频
服务器迁移软件
软件开发的错误叫什么
餐饮数据库菜名代码
专业软件开发平台
达梦数据库表格最大数据
金山区参考软件开发价格咨询
宜宾软件开发首选青岗科技
一些新兴的互联网科技
软件开发排期准确