c++-字符串旋转
来源:互联网 发布:php base64解码后乱码 编辑:程序博客网 时间:2024/06/14 06:04
题目描述
对于一个字符串,和字符串中的某一位置,请设计一个算法,将包括i位置在内的左侧部分移动到右边,将右侧部分移动到左边。
给定字符串A和它的长度n以及特定位置p,请返回旋转后的结果。
测试样例:"ABCDEFGH",8,4
返回:"FGHABCDE"
对于一个字符串,和字符串中的某一位置,请设计一个算法,将包括i位置在内的左侧部分移动到右边,将右侧部分移动到左边。
给定字符串A和它的长度n以及特定位置p,请返回旋转后的结果。
测试样例:
"ABCDEFGH",8,4
返回:"FGHABCDE"
这道题很容易,解题思路也有很多,首先给出本人的解答:
利用了string类型中的for语句
class StringRotation {public: string rotateString(string A, int n, int p) { // write code here string res1; string res2; int len=0; for(auto c : A){ if(len<=p) res1.push_back(c); else if(len>p) res2.push_back(c); len++; } res1=res2+res1; return res1; }};
但由于用了两个字符串,导致内存空间消耗较大。
参考其他答案:只显性用了一个字符串
class StringRotation {public: string rotateString(string A, int n, int p) { // write code here if(p==n-1) return A; string B; B=A.substr(p+1)+A.substr(0,p+1); return B; }};
利用了string的substr,复制子字符串函数来完成。
阅读全文
0 0
- c++-字符串旋转
- 编程算法 - 左旋转字符串 代码(C)
- 【C语言】编写函数实现字符串旋转
- C语言实现字符串的左旋转
- 旋转字符串
- 字符串旋转
- 字符串旋转
- 旋转字符串
- 旋转字符串
- 旋转字符串
- 旋转字符串
- 旋转字符串
- 字符串旋转
- 旋转字符串
- 旋转字符串
- 旋转字符串
- 字符串旋转
- 旋转字符串
- android 使用vitamio播放mkv文件实现音轨切换
- Linux 使用scp命令远程拷贝文件
- 职场社交是一个真需求吗?
- Unity Android打包apk安装错误INSTALL_FAILED_CONFLICTING_PROVIDER
- PHP 二进制高精度计算函数
- c++-字符串旋转
- leetcode_40. Combination Sum II ? 待解决
- Java语言规范基于JavaSE9 第七章 包和模块(八)
- 1025. 反转链表 (25)
- Android 开发常见问题
- Map集合的四种遍历方式
- ORA-12519: TNS: 没有找到适用的服务的解决方法
- 优雅的轮询获取一个数组的当前值以及下一个值
- 《腾讯方法》阅后感:让你10分钟读完一本好书