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;
}
}