汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!

基本的字符串子串和拼接。C++里的string的substr(int start_index, int count) 起始索引和数量。

这种题目就喜欢在细节上挖坑,比如字符串长度为0,你怎么搞?要能够应对这种情况。过分专注细节,这样的任务应当交给机器去做。

class Solution {
public:string LeftRotateString(string str, int n){int len = str.length();if (len == 0){return "";}n = n%len;string result = str.substr(n, len - n) + str.substr(0, n);return result;}
};

《剑指offer》-左旋转字符串相关推荐

  1. [剑指Offer]-左旋转字符串

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

  2. 代码随想录算法训练营第八天|344.反转字符串 541. 反转字符串II 剑指Offer 05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串

    一.344.反转字符串 题目:编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的 ...

  3. 备战sp23春招 day8 | 344.反转字符串 541. 反转字符串II 剑指 05.替换空格 151.翻转字符串里的单词 剑指58-II.左旋转字符串

    344 反转字符串 class Solution {public:void reverseString(vector<char>& s) {int n = s.size();int ...

  4. 402-字符串(题目:剑指Offer58-II.左旋转字符串、 28. 实现 strStr()、459.重复的子字符串)

    题目:剑指Offer58-II.左旋转字符串 class Solution {public:string reverseLeftWords(string s, int n) {string s1(s. ...

  5. 代码随想录算法训练营第08天 | LeetCode 344.反转字符串,541. 反转字符串2,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串

    LeetCode [344. 反转字符串] 题目:编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须**原地修改输入数组**. ...

  6. 代码随想录算法训练营第八天|● 344.反转字符串● 541. 反转字符串II● 剑指Offer 05.替换空格● 151.翻转字符串里的单词● 剑指Offer58-II.左旋转字符

    一.344.反转字符串 力扣 思路:很简单的一个for循环双指针,left和right交换. class Solution {public void reverseString(char[] s) { ...

  7. 剑指 Offer 11. 旋转数组的最小数字 简单

    剑指 Offer 11. 旋转数组的最小数字 题目 解题思路 方法(一)直接遍历法 方法(二)二分查找法 题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组 ...

  8. 【LeetCode】剑指 Offer 11. 旋转数组的最小数字

    [LeetCode]剑指 Offer 11. 旋转数组的最小数字 文章目录 [LeetCode]剑指 Offer 11. 旋转数组的最小数字 一.遍历 二.二分法 总结 一.遍历 算法步骤: 遍历数组 ...

  9. 《LeetCode力扣练习》剑指 Offer 11. 旋转数组的最小数字 Java

    <LeetCode力扣练习>剑指 Offer 11. 旋转数组的最小数字 Java 一.资源 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 给你一个可能存在 ...

  10. 剑指offer 11. 旋转数组的最小数字(很详细!)

    剑指offer 11. 旋转数组的最小数字 题目 解题思路 代码 题目 解题思路 一开始,我们就能直接想到,数组找最小值,那么不轻轻松松直接遍历一遍,用一个变量记录最小值,然后直接返回不就完事了? 但 ...

最新文章

  1. 算法优化:最大m个子段和,问题规模从1个子段和扩展到m个,动态规划
  2. C#设计模式之1-工厂方法模式
  3. SQL Server insert的触发器
  4. linux+多个字符分割字符串数组中,怎样通过特定的分隔符将字符串分割成数组
  5. How to support Specular-Glossiness in Three.js
  6. 服务器硬盘数据备份到nas,这么设置USBCopy数据就能轻松备份至NAS
  7. 基于LabVIEW的WIFI通信人机交互界面设计
  8. 【数学】三壶问题的一种通解
  9. 三个和尚比身高,已告知三个和尚的身高
  10. 如何防止SP利用欠费进行套利
  11. spring-boot-devtools 快速重启的秘密!
  12. 用了pcl的地方, 程序直接崩溃 挂掉
  13. SVG实例入门与动画实战
  14. mysql-community-server是什么?
  15. 华为CaaS开放平台产品宣传片
  16. 基于DSP+FPGA的机载雷达伺服控制系统的硬件设计与开发
  17. pta紧急救援java,PTA——城市间紧急救援
  18. 韩顺平 数据结构与算法 (11_1) 树结构基础部分_二叉树
  19. 服务器更新维护尚未完成,尊敬的玩家,2020年3月19日(周四)7:00-11:00
  20. 如何让淘宝客推广我们的产品?

热门文章

  1. 模型加速--Slimmable neural networks
  2. 图片格式转换(PNG or JPEG to EPS or PDF)
  3. C++报错解决:error: ‘int’ is not a class, struct, or union type typedef typename _Sequence::value_
  4. java open_java-OpenIMAJ Jar文件
  5. linux上安装mysql5.5_【Python】Linux安装Mysql5.5
  6. java 中常用方法_java_中常用的方法总结
  7. oracle中set怎么用,sqlplus命令格式以及sqlplus中set的用法与解释-Oracle
  8. mysql表打包到程序中_关于数据库程序的打包
  9. plsql 设置鼠标行执行_Excel中执行“宏”的方法有哪些?我列举了这5个,你会几个...
  10. ajax php加载列表实例,jQuery+PHP+ajax实现加载更多内容列表