Thinking process

Similar to 28

what is the pattern?

corner cases?

  • "absc" => false
public class Solution {
    public boolean repeatedSubstringPattern(String str) {
        if (str == null) return false;

        for (int i = 1; i <= str.length(); ++i) {
            String subStr = str.substring(0, i);
            int left = i;
            int right = i * 2;
            while (right <= str.length()) {
                if (!str.substring(left, right).equals(subStr)) {
                    break;
                }
                if (right == str.length()) {
                    return true;
                }
                left += i;
                right += i;
            }

        }

        return false;

    }
}

results matching ""

    No results matching ""