欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[剑指offer] 左旋转字符串 (C++解法)

程序员文章站 2022-07-14 18:07:39
...

面试题58 - II. 左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

示例 1:

输入: s = "abcdefg", k = 2
输出: "cdefgab"

示例 2:

输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"

限制:

1 <= k < s.length <= 10000

C++解法
思路:使用ostringstream类型,将字符串第n位到末尾放在前面,然后将前n位放后面,比较简单。

class Solution {
public:
    string reverseLeftWords(string s, int n) {
        if (n >= s.size()) return s;
        ostringstream oStr("");
        oStr << string(s.begin() + n, s.end()) << string(s.begin(), s.begin() + n);
        return oStr.str();
    }
};
相关标签: 力扣刷题