● 344.反转字符串● 541. 反转字符串II● 剑指Offer 05.替换空格● 151.翻转字符串里的单词● 剑指Offer58-II.左旋转字符串

344.反转字符串

1.自己思路:

直接stl api reverse转换(传参为auto迭代器)

2.题解思路

双指针思想

奇 偶 的边界条件 举例代入判断(/返回为整数 不四舍五入)

541. 反转字符串II

1.自己思路:

1.使用reverse方法 reverse的传参混乱了 思路不清晰

2.题解思路

reverse的使用方法两种1.两个传参 auto 针对vector与string

2.2个传参 int int 两个下标 针对数组(数字数组或者字符数组)

需要考虑边界问题

核心思想在于遍历的时候 不再是i++ 而是i+-2*k

string的size方法返回的是无符号整型 直接减去Int值可能出现负数 无符号数出现负数则会出问题

剑指Offer 05.替换空格

1.自己思路

最简单的一层for循环 

151.翻转字符串里的单词

1.自己思路

分割每一个单词 然后依次放进去 但是代码写的杂乱 通过率20%

2.题解思路

  • 移除多余空格 分使用erase(时间复杂度(n)与不使用两个方法 不使用erase则使用双指针方法 fast遍历 slow重新定义string for来进行fast遍历 判断空格 里面while循环来填写单词 以空格结束 不为空格->fast slow都往后赋值->为空格退出while->进入下层遍历
  • 将整个字符串反转
  • 将每个单词反转
  • 因为这里传入的是闭合的区间(因为swap里面 start和end可以取到  所以这里传入的I得-1 I可以取到最后的末尾
  • 第一次编写失败  二次编写成功
  • i可以取到s.size()的原因: 因为根据s[i]为空格判断的所以需要传入i-1

剑指Offer58-II.左旋转字符串

1.自己思路

先根据target分割 然后再重新组合

2.题解思路

限制于本串操作 

  1. 反转区间为前n的子串
  2. 反转区间为n到末尾的子串
  3. 反转整个字符串

巧妙!!!

注意reverse左闭右开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值