您的位置:首页 > 其它

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

2016-11-03 20:46 901 查看
// test20.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"
#include<iostream>
#include<vector>
#include<string>
#include<queue>
#include<stack>
#include<cstring>
#include<string.h>
#include<deque>

using namespace std;

class Solution {
public:
string LeftRotateString(string str, int n) {
if (str == "") return {};

int len = str.length();
int flag = n % len;
if (flag == 0) return str;
string roc1 = str.substr(0,flag);
//cout << roc1 << endl;
string rocs = str.substr(flag);
//cout << rocs << endl;
rocs.append(roc1);
return rocs;
}
};
int main()
{

Solution so;

//string str = so.LeftRotateString("abcXYZdef",3);
string str = so.LeftRotateString("abcXYZdef", 0);
cout << str << endl;
cout << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐