0796. Rotate String

0796. Rotate String #

题目 #

  • 给定两个字符串, sgoal。如果在若干次旋转操作之后,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;
    }
}

致谢 #

宫水三叶