344)反转字符串
挺简单的 双指针何时停止循环 的条件小小卡顿了一下;
541) 翻转字符串II
遍历上用的i+=(2*k)思路没有问题 但是判断剩余值的情况思路上一开始想用取余的方式 来计算剩下字符数和size的大小关系来比对
看解析直接用循环结束 只需要 用替换开始字段位置+k和s.size()比较就能完成
reverse(s.begin()+i,s.begin()+i+k);
这一行代码没想到 原来还想着带一个指针j 来指向交换的后面那个元素 这个这直接一步到位了
卡码 54)替换数字
只想到到了到用ASCII来判断数字 创建一个string数组 然后把number换成一个字符串元素
没有想到用双指针+扩展空间 看了前半段思路就以为要正序插入 完全没想到还要移动后面的元素增加空间
151)反转单词
没有思路 整体操作复杂 整理一下整体思路 核心->两极反转 全字符串反转 再识别每一个单词 达到要求
1)识别单词 -- 识别单词就是靠的空格键隔开 识别单词有两种第一种是第一个单词 前面不需要空格来隔断;第二种是后续单词 先一个空格隔断再开始新的单词
处理::用双指针方法快指针先遍历 在在遇到空格时 在用慢指针判断是否是第一个单词 以及用慢指针来增加空格区分单词 到此整个字符串反转并且区分开了每一个单词;
2)接下来反转每个单词里的字符 反转为正确的单词顺序;处理同样是双指针解决 start是每个单词开端 每次循环后都赋值为i+1 衔接下一个单词;
卡码55) 有了上面题目的学习这道题很容易就做出来了 没啥难度了连空格都不需要判断;