编程题:字符串循环左移(ROL)
题目描述:
汇编语言中有一种移位指令叫做循环左移(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)相关推荐
- 7-31 字符串循环左移 (C语言)
7-31 字符串循环左移 (20 分)输入一个字符串和一个非负整数N,要求将字符串循环左移N次. 输入格式: 输入在第1行中给出一个不超过100个字符长度的.以回车结束的非空字符串:第2行给出非负整数 ...
- 7-31 字符串循环左移 (20 分)
7-31 字符串循环左移 (20 分) 输入一个字符串和一个非负整数N,要求将字符串循环左移N次. 输入格式: 输入在第1行中给出一个不超过100个字符长度的.以回车结束的非空字符串:第2行给出非负整 ...
- 算法-字符串 循环左移
1.字符串循环左移 例:abcdef 循右移n位 如n=2 思路:(X'Y')' =YX '即逆序 及X={a b } Y={c d e f} X'=b a Y'=f e d c 该算法 ...
- python列表元素循环左移_python字符串循环左移
本文实例为大家分享了python字符串循环左移的具体代码,供大家参考,具体内容如下 字符串循环左移 给定一个字符串S[0-N-1],要求把S的前k个字符移动到S的尾部,如把字符串"abcde ...
- 字符串循环左移 详解
题目描述 输入一个字符串和一个非负整数N,要求将字符串循环左移N次. 输入格式: 输入在第1行中给出一个不超过100个字符长度的.以回车结束的非空字符串:第2行给出非负整数N. 输出格式: 在一行中输 ...
- python字符循环左移_python字符串循环左移
本文实例为大家分享了python字符串循环左移的具体代码,供大家参考,具体内容如下 字符串循环左移 给定一个字符串S[0-N-1],要求把S的前k个字符移动到S的尾部,如把字符串"abcde ...
- 【C语言进阶】指针编程题—字符串翻转
目录 写在前面 正文 练习一:左旋字符串 练习二:字符串旋转异同判断 练习三:杨氏矩阵 写在最后 写在前面 这是有关指针的大题 正文 练习一:左旋字符串 题目要求:实现一个函数,可以左旋字符串中的K个 ...
- [编程题]字符串最后一个单词的长度
输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 输入例子: hello world 输出例子: 5 代码说明: import java.util.*;pub ...
- 牛客网编程题——字符串_空格替换
题目描述 请编写一个方法,将字符串中的空格全部替换为"%20".假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字 ...
最新文章
- 自动微分到底是什么?这里有一份自我简述
- Matlab(一) .jpg转.ppm
- Miner3D 数据分析软件
- 一套扁平化界面风格的flex 皮肤
- 数字型变量可以直接计算
- 我最喜欢的IntelliJ IDEA功能
- [Linux]线程安全和可重入函数
- angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
- swift 雨燕 新手教程
- 美团关联公司公开“无人车及无人配送系统”相关专利
- 摄像头成像数据可见窗口计算
- ajax跨域请求wcf,ajax wcf 指定某个域名 进行跨域访问
- 21. 栈的压入、弹出序列
- java实现栈的方法
- AD9371,ADRV9009多路同步模块设计
- 交换机Trunk详解
- 基于processing的《代码本色》应用拓展——表现随机行为及牛顿运动学
- There are no enabled repos. Run “yum repolist all“ to see the repos you have. You can enable repos问题
- 2048小游戏lua
- 产品经理认证(NPDP)---新产品开发战略
热门文章
- 爱丁堡计算机专业硕士世界排名,爱丁堡大学计算机世界排名
- mysql2ora datacopy,oracle的clone及冷迁移(直接拷贝数据文件)
- SSD中没有efi分区的解决办法即固态硬盘不能设置uefi引导的解决办法
- 计算机毕业设计SSMHY口腔门诊系统【附源码数据库】
- win2003安装MSN9的方法
- android按钮点击音效
- 由于oracle错误1400而拒绝行,请教各位大神一个在工作中遇到的问题。到现在还没有解决。 - Oracle论坛 - 51CTO技术论坛_中国领先的IT技术社区...
- 用python写一个北京市的个税计算器
- 解决Win10无法安装没有数字签名驱动的问题
- 网络层(八)ARP欺骗