Str with Longest Len
Problem statement
A prefix of a string S is any leading contiguous part of S. For example, the string "codility" has the following prefixes: "", "c", "co", "cod", "codi", "codil", "codili", "codilit", and "codility". A prefix of S is called proper if it is shorter 📏 than S.
A suffix of a string S is any trailing contiguous part of S. For example, the string "codility" has the following sufixes: "", "y", "ty", "ity", "lity", "ility", "dility", "odility" and "codility". A suffix of S is called proper if it is shorter than S.
Let's now write a func called strWithLongestLen(String S) in the editor 👉
Task of your func:
- Find the len of the longest string that is both a proper suffix of S and a proper prefix of S.
: 𓏲🐋 ๋࣭ ࣪endless thanks, spike!˖✩࿐࿔ 🌊
Function
strWithLongestLen(S: String) → intExamples
Example 1
S = "abbabba"return = 4
The string abba is both a proper prefix and a proper suffix of S. Its length is 4, and there is no longer valid string.
Example 2
S = "codility"return = 0The only string that is both a proper prefix and a proper suffix is the empty string, whose length is 0.
Constraints
1 <= S.length() <= 1,000,000String S consists only lower case english letters (a - z)