【题目】
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: ["flower","flow","flight"] Output: "fl"
Example 2:
Input: ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings.
【注意】
All given inputs are in lowercase letters a-z
.
【题目翻译】
给定一个字符串数组strs, 求所有字符串的最长公共前缀。
【解题思路】
首先我们把第一个字符串看最最长公共前缀pre = strs[0]
然后遍历第二个字符串, 如果该字符串的最长公共前缀不是pre的话, 把pre最后一个字符去掉再循环判断, 是的话遍历下一个字符串。
【代码实现】
class Solution:
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
if len(strs) == 0:
return ""
pre = strs[0]
for i in range(1, len(strs)):
#当前字符串的前缀不是pre, 把pre最后一个字符去掉再判断
while not strs[i].startswith(pre):
pre = pre[:len(pre)-1]
return pre