字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。

力扣

设计思路

首先,如果s1和s2的长度不一样,那么无论怎么轮转,s1都不能得到s2,返回false。 字符串s+s包含了所有s1可以通过轮转操作得到的字符串,只需要检查s2是否为s+s的子字符串即可。

代码实例

1
2
3
4
5
6
class Solution {
public:
    bool isFlipedString(string s1, string s2) {
        return s1.size() == s2.size() && (s1 + s1).find(s2) != string::npos;
    }
};