本文主要是介绍剑指offer58—II 左旋转字符串 c++,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
示例 1:
输入: s = “abcdefg”, k = 2
输出: “cdefgab”
示例 2:
输入: s = “lrloseumgh”, k = 6
输出: “umghlrlose”
限制:
1 <= k < s.length <= 10000
思路
定义一个字符串,先将s中的第n位到最后一位放入字符串,然后将第0位到第n-1位存入字符串
代码
#include <vector>
#include <iostream>
#include <string>
using namespace std;class Solution {
public:string reverseLeftWords(string s, int n) {string res;for (int i = n; i < s.size(); i++) {res.push_back(s[i]);}for (int i = 0; i < n; i++) {res.push_back(s[i]);}return res;}
};int main()
{Solution test;std::string input = { "1234567ab"};std::string result = test.reverseLeftWords(input, 2);std::cout << "result:" << result << std::endl;return 0;
}
测试结果
这篇关于剑指offer58—II 左旋转字符串 c++的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!