从Leetcode 每日一题练习继续讨论:
796. 旋转字符串
796. Rotate String
题解
本题是一道简单题,一个比较容易想到的思路是对于s,选定开头字母如字母a作为整个循环字符串的起始,随后遍历goal字符串,遇到字符a就将其当作s的开头字符a,向后遍历goal字符串并与s比对,成功则为true,失败则继续遍历goal寻找下一个a,直到遍历完整个goal为止。
代码
class Solution { public: bool rotateString(string s, string goal) { if (s.size() != goal.size()){ return false; } char label = s[0]; for (int i=0;i<goal.size();i++){ if (goal[i] == label){ bool success = true; for (int j=0;j<s.size();j++){ if(s[j] != goal[(i+j)%s.size()]){ success = false; break; } } if (success){ return true; } } } return false; } };
|