Problem
Given a string s, check if it can be constructed by taking a substring of it and appending multiple copies of the substring together.
Example 1:
Input: s = "abab" Output: true Explanation: It is the substring "ab" twice. Example 2:
Input: s = "aba" Output: false Example 3:
Input: s = "abcabcabcabc" Output: true Explanation: It is the substring "abc" four times or the substring "abcabc" twice. Constraints:
1 <= s.length <= 104sconsists of lowercase English letters.
Solution
/** * @param {string} s * @return {boolean} */ var repeatedSubstringPattern = function(s) { return `${s}${s}`.slice(1, s.length * 2 - 1).includes(s); }; Explain:
nope.
Complexity:
- Time complexity : O(n).
- Space complexity : O(n).