Longest Happy Prefix LeetCode solution in Python
1# Runtime: 186 ms (Top 90.2%) | Memory: 21.02 MB (Top 32.3%)234class Solution:5def longestPrefix(self, s: str) -> str:6n = len(s)7lps = [0] * n8j = 09for i in range(1, n):10while s[i] != s[j] and j > 0:11j = lps[j - 1]1213if s[i] == s[j]:14lps[i] = j + 115j += 11617return s[: lps[-1]]