Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string "".
Example 1:
Input: strs = ["flower","flow","flight"] Output: "fl"
Example 2:
Input: strs = ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings.
Constraints:
1 <= strs.length <= 2000 <= strs[i].length <= 200strs[i]consists of only lowercase English letters.
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
prefix = strs[0]
for st in strs:
new_pref = ""
min_len = min(len(prefix), len(st))
for i in range(min_len):
if st[i] == prefix[i]:
new_pref += st[i]
else:
break
if new_pref == "":
return ""
else:
prefix = new_pref
return prefix