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

分析:
用的是最简单以理解的方法,先将str的后k-len个字符输入到结果字符串,然后再将前k个字符输入到结果字符串。

class Solution
{public:string LeftRotateString(string str, int n) {//特殊处理if(n==0)return str;//处理int len = str.size();if(len == 0)return "";string r;int j=0;n = n%len;for(int i=n;i<len;i++){r[j++] = str[i];}for(int i=0;i<n;i++){r[j++] = str[i];}return r;}
};

昨天整半天没出来的原因是我把结果字符串的r类型设置为了char*了, 与函数的返回值类型不匹配。

一些其他的解答方案:

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

这里 n = n % len的原因就是比如有n大于len的时候那么这个循环移位的个数就是余数啦。

编程题:字符串循环左移(ROL)相关推荐

  1. 7-31 字符串循环左移 (C语言)

    7-31 字符串循环左移 (20 分)输入一个字符串和一个非负整数N,要求将字符串循环左移N次. 输入格式: 输入在第1行中给出一个不超过100个字符长度的.以回车结束的非空字符串:第2行给出非负整数 ...

  2. 7-31 字符串循环左移 (20 分)

    7-31 字符串循环左移 (20 分) 输入一个字符串和一个非负整数N,要求将字符串循环左移N次. 输入格式: 输入在第1行中给出一个不超过100个字符长度的.以回车结束的非空字符串:第2行给出非负整 ...

  3. 算法-字符串 循环左移

    1.字符串循环左移 例:abcdef 循右移n位 如n=2 思路:(X'Y')' =YX    '即逆序 及X={a b }  Y={c d e f} X'=b a    Y'=f e d c 该算法 ...

  4. python列表元素循环左移_python字符串循环左移

    本文实例为大家分享了python字符串循环左移的具体代码,供大家参考,具体内容如下 字符串循环左移 给定一个字符串S[0-N-1],要求把S的前k个字符移动到S的尾部,如把字符串"abcde ...

  5. 字符串循环左移 详解

    题目描述 输入一个字符串和一个非负整数N,要求将字符串循环左移N次. 输入格式: 输入在第1行中给出一个不超过100个字符长度的.以回车结束的非空字符串:第2行给出非负整数N. 输出格式: 在一行中输 ...

  6. python字符循环左移_python字符串循环左移

    本文实例为大家分享了python字符串循环左移的具体代码,供大家参考,具体内容如下 字符串循环左移 给定一个字符串S[0-N-1],要求把S的前k个字符移动到S的尾部,如把字符串"abcde ...

  7. 【C语言进阶】指针编程题—字符串翻转

    目录 写在前面 正文 练习一:左旋字符串 练习二:字符串旋转异同判断 练习三:杨氏矩阵 写在最后 写在前面 这是有关指针的大题 正文 练习一:左旋字符串 题目要求:实现一个函数,可以左旋字符串中的K个 ...

  8. [编程题]字符串最后一个单词的长度

    输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 输入例子: hello world 输出例子: 5 代码说明: import java.util.*;pub ...

  9. 牛客网编程题——字符串_空格替换

    题目描述 请编写一个方法,将字符串中的空格全部替换为"%20".假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字 ...

最新文章

  1. 自动微分到底是什么?这里有一份自我简述
  2. Matlab(一) .jpg转.ppm
  3. Miner3D 数据分析软件
  4. 一套扁平化界面风格的flex 皮肤
  5. 数字型变量可以直接计算
  6. 我最喜欢的IntelliJ IDEA功能
  7. [Linux]线程安全和可重入函数
  8. angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  9. swift 雨燕 新手教程
  10. 美团关联公司公开“无人车及无人配送系统”相关专利
  11. 摄像头成像数据可见窗口计算
  12. ajax跨域请求wcf,ajax wcf 指定某个域名 进行跨域访问
  13. 21. 栈的压入、弹出序列
  14. java实现栈的方法
  15. AD9371,ADRV9009多路同步模块设计
  16. 交换机Trunk详解
  17. 基于processing的《代码本色》应用拓展——表现随机行为及牛顿运动学
  18. There are no enabled repos. Run “yum repolist all“ to see the repos you have. You can enable repos问题
  19. 2048小游戏lua
  20. 产品经理认证(NPDP)---新产品开发战略

热门文章

  1. 爱丁堡计算机专业硕士世界排名,爱丁堡大学计算机世界排名
  2. mysql2ora datacopy,oracle的clone及冷迁移(直接拷贝数据文件)
  3. SSD中没有efi分区的解决办法即固态硬盘不能设置uefi引导的解决办法
  4. 计算机毕业设计SSMHY口腔门诊系统【附源码数据库】
  5. win2003安装MSN9的方法
  6. android按钮点击音效
  7. 由于oracle错误1400而拒绝行,请教各位大神一个在工作中遇到的问题。到现在还没有解决。 - Oracle论坛 - 51CTO技术论坛_中国领先的IT技术社区...
  8. 用python写一个北京市的个税计算器
  9. 解决Win10无法安装没有数字签名驱动的问题
  10. 网络层(八)ARP欺骗