leecode如何解决翻转字符串里的单词问题
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下leecode如何解决翻转字符串里的单词问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!给定一个字符串
千家信息网最后更新 2026年11月03日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) - 1res = []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安全错误
数据库的锁怎样保障安全
互联网科技有限公司
为想互联网科技怎么样
互联网的科技
互联网科技未来
金融科技创新监管互联网金融
互联网科技开发公司
顺玮阁互联网科技
互联网科技英文翻译
移动互联网年度科技创新
恒生互联网科技指数跳水
中国互联网十大科技股排名
健康食品互联网创新科技园项目
科技互联网海报
互联网方面的科技前沿
深圳无忧互联网科技
广州千川互联网科技有限公司
图游互联网科技
陕西云淼互联网科技公司
湖北辰鑫科技互联网
青岛互联网科技园
广州为想互联网科技有限公司
蓝思科技飞鸽互联网
国智互联网科技
互联网金融 科技创新
狮子座互联网科技培训
上海电发互联网科技有限公司
重庆威客帮互联网科技
互联网科技的全部知识
世界互联网科技成果奖
盐城市攀科互联网科技有限公司