AI
推荐
模板社区
专题
登录
免费注册
首页
思维导图
详情
字符串
2023-11-02 12:16:46
0
举报
分享方式
仅支持查看
字符串总结
算法
模板推荐
作者其他创作
大纲/内容
151.翻转字符串里的单词
先整体反转再局部反转
reverse(string& s, int start, int end)
整体反转
局部反转
双指针法去空格
去除多余空格
快指针遇到非空格,s[slow] = s[fast],slow和fast继续移动,知道快指针遇到空格,跳出当前while循环
每个单词之间保留空格
每次快指针遇到非空格,slow+=1;s[slow]=' ';填充空格,slow大于0时才执行上述代码
剑指Offer58-II.左旋转字符串
先局部反转再整体反转
反转函数reverse(begin,end)
理论基础
字符串是若干字符组成的有限序列,也可以理解为是一个字符数组
在C语言中,把一个字符串存入一个数组时,也把结束符 '\0'存入数组,并以此作为该字符串是否结束的标志。
在C++中,提供一个string类,string类会提供 size接口,可以用来判断string类字符串是否结束,就不用'\0'来判断是否结束。
vector< char > 和 string区别
在基本操作上没有区别,但是 string提供更多的字符串处理的相关接口,例如string 重载了+,而vector却没有。
C++库函数,如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数
swap()交换
reverse()反转
.resize()重置字符串大小
.erase()删除容器元素
344. 反转字符串
双指针法,交换元素
541. 反转字符串II
反转前k个元素
reverse(s.begin()+i,s.begin()+i+k)
反转这 2k 字符中的前 k 个字符
剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,
反转剩余元素
reverse(s.begin()+i,s.end())
122. 路径加密
替换.变成空格
path[i]=='.'?str+=' ':str+=path[i];
收藏
立即使用
双指针法
收藏
立即使用
字符串
152079_PO
职业:暂无
去主页
Collect
Get Started
字符串编码
Collect
Get Started
字符串常量池
Collect
Get Started
字符串常量池
Collect
Get Started
字符串
评论
0
条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
修改AI描述
去编辑
重新生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定
Document