我的代码:
思路横向扫描所有的子串,不断的扩展ans,如果某个字符串越界就直接返回,如果不相等也返回。
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
# leetcode submit region end(Prohibit modification and deletion)
length = len(i)
ans = ''
for i in range(length):
tmp = 0
for j in strs:
try:
if j == '':
return ans
if tmp == 0:
tmp = j[i]
elif tmp != j[i]:
return ans
except:
return ans
ans += j[i]
return ans
觉得好的
直接 赋值 第一个
然后比较后面的是否有不等的。中间判断是否有字符串的长度不够的。直接返回
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if not strs:
return ""
length, count = len(strs[0]), len(strs)
for i in range(length):
c = strs[0][i]
if any(i == len(strs[j]) or strs[j][i] != c for j in range(1, count)):
return strs[0][:i]
return strs[0]