LeetCode | 151. 颠倒字符串中的单词
我的Bilibili频道:香芋派Taro
我的个人博客:taropie0224.github.io(阅读体验更佳)
我的公众号:香芋派的烘焙坊
我的音频技术交流群:1136403177
我的个人微信:JazzyTaroPie
https://leetcode-cn.com/problems/reverse-words-in-a-string/
1 | class Solution |
思路
首先我想表达我对js和python的怀念…手写api太痛苦了
好难啊,为什么Med就这么难
上手
- 定义start = 0,从头开始遍历数组
- 首先我们可以看到一个if (s[start] != ‘ ‘),它的作用是让数组遍历到第一个不是空格的地方再往下执行
- 然后我们又能看到一个if (idx != 0),这又是什么意思呢?如果不是第一个单词(开头不需要空格),则先补一个空格(分隔开每个单词)
- 下面的步骤总结一下就是先抽取出单个单词,放入上一个单词空一个空格开始的位置,然后对这个单词进行反转
- 最后我们把数组末尾多出来的部分erase掉
对于刚上手的小白还是有一些难度的,建议没事就拿出来默一默
有哪些思想呢?比如分割?单独处理?O(1)的额外空间?
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 香芋派Taro!