LeetCode Top Interview 150

14. Longest Common Prefix

Easy

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:

Solution

from typing import List

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if len(strs) < 1:
            return ""
        if len(strs) == 1:
            return strs[0]
        temp = strs[0]
        i = 1
        while temp and i < len(strs):
            if len(temp) > len(strs[i]):
                temp = temp[: len(strs[i])]
            cur = strs[i][: len(temp)]
            if cur != temp:
                temp = temp[: len(temp) - 1]
            else:
                i += 1
        return temp