力扣151.反转字符串中的单词
151.反转字符串中的单词
力扣题目链接
给你一个字符串 s ,请你反转字符串中 单词 的顺序。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。
注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。
示例 1:
1 | 输入:s = "the sky is blue" |
示例 2:
1 | 输入:s = " hello world " |
示例 3:
1 | 输入:s = "a good example" |
提示: 1 <= s.length <= 104
s
包含英文大小写字母、数字和空格 ' '
s
中 至少存在一个 单词
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/reverse-words-in-a-string
思路
这里可以使用双指针进行遍历查找每个单词就行填充拼接。
(1)
(2)遍历查找单词,进行字符串拼接,需要注意的是当字符串前有
(3)由于每次都+=' '
,需要进行删除末尾。
实现代码
1 | class Solution { |
- 时间复杂度:
,其中 是字符串长度。 - 空间复杂度:
,其中 是字符串长度。
本文封面图片由maritamar75在Pixabay上发布
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 James的成长之路!
评论