题目:字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。
示例1:
输入:s1 = "waterbottle", s2 = "erbottlewat"
输出:True
示例2:
输入:s1 = "aa", s2 = "aba"
输出:False
1.原创
class Solution { public: bool isFlipedString(string s1, string s2) { int m = s1.size(), n = s2.size(); if(m != n) return false; if(m == 0) return true; for(int i = 0; i < m; i ++){ if(s1[i] == s2[0]){ if(s1.substr(0, i) == s2.substr(m - i) && s1.substr(i) == s2.substr(0, m - i)) return true; } } return false; } };
2.题解
class Solution { public: bool isFlipedString(string s1, string s2) { return s1.size()==s2.size()&&(s1+s1).find(s2)!=-1; } }; 作者:yzwz 链接:https://leetcode-cn.com/problems/string-rotation-lcci/solution/yi-xing-jiu-gou-liao-by-yzwz/