14. Longest Common Prefix
Read the full problem statement on LeetCode.
Difficulty: easy Acceptance: 45% Topics: String, Trie
View full problem on LeetCode Reading material
Reference solution (spoiler · python)
# Time: O(n * k), k is the length of the common prefix
# Space: O(1)
class Solution(object):
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
if not strs:
return ""
for i in xrange(len(strs[0])):
for string in strs[1:]:
if i >= len(string) or string[i] != strs[0][i]:
return strs[0][:i]
return strs[0]
# Time: O(n * k), k is the length of the common prefix
# Space: O(k)
class Solution2(object):
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
prefix = ""
for chars in zip(*strs):
if all(c == chars[0] for c in chars):
prefix += chars[0]
else:
return prefix
return prefix
Solution from kamyu104/LeetCode-Solutions · MIT