剑指offer系列——字符串循环左移

方法一:

注意空字符串和移动长度大于字符串长度的情况。 

class Solution {
public:
    string LeftRotateString(string str, int n) {
    if(str.length()==0){
        return "";
    }
    int tmp = n % str.length();
    string a = str.substr(tmp);
    a = a + str.substr(0,tmp);
    return a ;
    }
};

解法二:巧妙解法

class Solution {
public:
    string LeftRotateString(string str, int n) {
        int len = str.length();
        if(len == 0) return "";
        n = n % len;
        str += str;
        return str.substr(n, len);
    }
};
发布了51 篇原创文章 · 获赞 29 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qwer7512090/article/details/104947963
今日推荐