题目14:最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
方法一:
解题思路
- 首先判断数组是否为空,若为空 return “”;
- 以数组首元素字符串为准,遍历其它各元素中是否存在此元素,若有一个元素不存在,则删除首元素末尾字符,重复遍历;
- 直至找到所有元素满足字符串 或 首元素删减为空为止。
代码实现
class Solution(object):
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
if not strs:
return ''
s = strs[0]
i = 1
while i<len(strs):
while strs[i].find(s) != 0:
s = s[0:len(s)-1]
i += 1
return s
方法二:
解题思路
从下标为0 依次获取数组各元素对应