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

    // 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;
    }
  • 相关阅读:
    第4章.计算节点
    Eclipse插件ViPlugin2.X的破解方法
    金刚经
    js
    C++ 重写重载重定义区别
    string::substr()简介
    信息熵与二进制
    一个简单的条件概率问题
    HPLINUX hplinux 安装升级 至 jdk1.8
    linux 解压命令
  • 原文地址:https://www.cnblogs.com/wdan2016/p/6028140.html
Copyright © 2011-2022 走看看