151.翻转字符串里的单词
题目链接:. - 力扣(LeetCode)
文章链接:代码随想录
思路:
1. 移除多余的空格
首先去除字符串中不必要的空格。这包括字符串开头和末尾的空格以及单词之间的多余空格。使用快慢指针。
- 快指针 (
fast):遍历字符串,识别非空格字符。 - 慢指针 (
slow):根据快指针的发现,重新构建字符串,插入必要的空格。

2. 反转整个字符串
使用双指针技术,从字符串的两端开始,逐步向中心移动,交换字符的位置,从而实现整个字符串的反转。
3. 反转每个单词
在整个字符串被反转之后,单词内部的字符顺序将变得颠倒。需要再次使用双指针技术,分别定位每个单词的开始和结束,然后对每个单词内部的字符进行反转。

整体代码如下:


卡码网:55.右旋转字符串
题目链接:55. 右旋字符串(第八期模拟笔试)
文章链接:代码随想录
思路:
1. 输入处理:使用 Scanner 类读取用户输入,包括旋转数 n 和待处理的字符串 s。

2. 使用三次反转
- 整体反转字符串:首先反转整个字符串。
- 反转前 n 个字符:然后反转结果字符串的前 n 个字符。
- 反转剩余字符:最后反转剩余的字符

3. 定于反转的方式

1006

被折叠的 条评论
为什么被折叠?



