【题目描述】
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
【解题思路】
字符串基础题,有两个终止条件:
- 首要的终止条件是第j个字符串的长度小于等于第1个字符串当前的位置,则最大长度就是第j个字符串的长度,此时返回已有的res即可;
- 其次是第j个字符串当前位置i和第1个字符串的当前位置i处的元素不同,则直接返回res。
用Python实现的代码如下:
class Solution(object):
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
res = ""
count = len(strs)
if count==0:
return res
for i in range(len(strs[0])):
for j in range(1, count):
if len(strs[j])<=i:
return res
if strs[j][i] != strs[0][i]:
return res
res = res + strs[0][i]
return res