代码随想录算法训练营第八天| 344.反转字符串 541. 反转字符串II 剑指Offer05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串

344. 反转字符串

思路:双指针法,使用swap函数

代码随想录算法训练营第八天| 344.反转字符串 541. 反转字符串II 剑指Offer05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串_第1张图片

541. 反转字符串 II

思路:以2k为步长进行迭代,判断i+k的大小来决定是否翻转

代码随想录算法训练营第八天| 344.反转字符串 541. 反转字符串II 剑指Offer05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串_第2张图片

剑指 Offer 05. 替换空格

思路:双指针法,先将原数组扩充为替换空格后的大小,再通过双指针移动替换空格

代码随想录算法训练营第八天| 344.反转字符串 541. 反转字符串II 剑指Offer05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串_第3张图片

151. 反转字符串中的单词

思路: 先移除多余空格,再整个翻转字符串,最后翻转单个单词

注意:string使用地址传递效率更高;resize要在所有循环结束后

代码随想录算法训练营第八天| 344.反转字符串 541. 反转字符串II 剑指Offer05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串_第4张图片

剑指 Offer 58 - II. 左旋转字符串

思路:先反转前n个字符串,再反转剩余字符串,最后翻转整个字符串(直接调用reverse函数)

代码随想录算法训练营第八天| 344.反转字符串 541. 反转字符串II 剑指Offer05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串_第5张图片

你可能感兴趣的:(c++)