0796. Rotate String #
题目 #
-
给定两个字符串,
s
和goal
。如果在若干次旋转操作之后,s
能变成goal
,那么返回true
。 -
s
的 旋转操作 就是将s
最左边的字符移动到最右边。- 例如, 若
s = 'abcde'
,在旋转一次之后结果就是'bcdea'
。
- 例如, 若
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public String rotate(String s) {
String ans = "";
for (int i = 1; i < s.length(); i++) ans += String.valueOf(s.charAt(i));
ans += String.valueOf(s.charAt(0));
return ans;
}
public boolean rotateString(String s, String goal) {
if (s.length() != goal.length()) return false;
if (s.equals(goal)) return true;
for (int i = 1; i < s.length(); i++) {
s = rotate(s);
if (s.equals(goal)) return true;
}
return false;
}
}