题目:左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

示例
输入 : s = "abcdefg" , n = 2
输出 : s = "cdefgab"

解题思路:

编程语言:C++

使用两个for循环,第一个for循环将n之后的字符串存入新字符串,第二个for循环将0~n的字符串存入新字符串

时间复杂度:接近O(n2)

代码实现如下

class Solution {
public:
string reverseLeftWords(string s, int n) {
string new1="";
for(int i=n;i<s.length();i++){
new1 = new1 + s[i];
}
for(int i =0;i<n;i++){
new1 = new1 + s[i];
}
return new1; }
};
执行用时:352 ms
内存消耗:339.5 MB

就结果来看,这种解法虽然能完成题目的要求,但无论从时间还是空间的角度来看,都不是最优的。更简单的解法可以直接调用substr()进行字符串拼接。

小白投稿,还请大家多多指教!

题目出处

最新文章

  1. curl实现发送Get和Post请求(PHP)
  2. php emoji处理微信表情
  3. 网页加载图片问题 插件lazyload
  4. 前端优化:DNS预解析提升页面速度
  5. 父页面 调用iframe方法
  6. JavaScript与Flash的通信
  7. 界面编程模仿篇(QQ登录界面逼真篇)
  8. uva 10825 - Anagram and Multiplication(暴力)
  9. 计蒜客NOIP2017提高组模拟赛(四)day1
  10. 网页三剑客:HTML+CSS+JavaScript 之JavaScript
  11. 使用Flame Graph进行系统性能分析
  12. angular 1.2.29版本下 动态添加多个表单、 校验全部、 提交 、ng-form方案
  13. Macro_Average和Micro_Average准则的选择标准
  14. 教你如何开启/关闭ubuntu防火墙
  15. [C#]读取不同版本的excel文件的方法
  16. 内存映射函数remap_pfn_range学习——代码分析(3)
  17. (转) rabbitmq应用场景
  18. ARM上电启动及Uboot代码分析
  19. php面向对象编程_2
  20. python nose测试

热门文章

  1. keras中loss与val_loss的关系
  2. Spring 获取单例流程(一)
  3. 看完这篇Redis缓存三大问题,保你面试能造火箭,工作能拧螺丝。
  4. 宿主机ping不通虚拟机,虚拟机能ping通宿主机问题
  5. Layer 3.0
  6. 2020年Web前端开发工程师市场怎么样?学会什么技术才能拿到高薪
  7. Repeater 横向显示数据
  8. 使用telnet测试指定端口的连通性
  9. web前端开发_文件/目录/样式/函数等命名规范
  10. ShuffleNetV1/V2简述 | 轻量级网络