题目:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
代码:
class Solution(object):
def longestCommonPrefix(self, strs):
min_str = float('inf')
obj_str = None
same_str = ''
for i in range(len(strs)):
if len(strs[i]) < min_str:
min_str = len(strs[i])
obj_str = i
for i in range(len(strs[obj_str])):
count = 0
for j in range(len(strs)):
if strs[obj_str][i] == strs[j][i]:
count += 1
else:
return same_str
if count == len(strs):
same_str += strs[obj_str][i]
return same_str
思路:先找出最短的一个字符串,然后用这个最短的字符串的每个字符去一个一个对比。这是我的第一解决思路,代码还能优化,先这样吧。提交是通过了。