剑指 Offer 58 - II. 左旋转字符串C++

题目描述:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。剑指 Offer 58 - II. 左旋转字符串C++_第1张图片
代码解析:s.substr(pos, n),返回一个string,包含s中从pos开始的n个字符的拷贝。
代码:
class Solution {
     
public:
    string reverseLeftWords(string s, int n) {
     
        return (s+s).substr(n,s.size());
    }
};
解题思路:先遍历n后面的元素,再遍历n前面的元素。
代码:
class Solution {
     
public:
    string reverseLeftWords(string s, int n) {
     
        string ans="";
        for(int i=n;i<s.size();++i) ans+=s[i];
        for(int i=0;i<n;++i) ans+=s[i];
    return ans;
    }
};

你可能感兴趣的:(剑指offer)