Leetcode刻意练习
题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1
输入: ["flower","flow","flight"]
输出: "fl"
示例 2
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
思路
判断第一个字符串中的第每个字符与以后每个字符串中的相应字符是否相同
如果某个字符串已经遍历结束,仍未发现不同,则输出该字符串;如果未遍历结束就发现不同,则输出之前遍历的所有字符即为公共前缀
题解
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if len(strs) == 0:
return ''
for m in range(len(strs[0])):
a = strs[0][m]
for n in range(1, len(strs)):
if m == len(strs[n]) or strs[n][m] != a:
return strs[0][:m]
return strs[0]