题目
思路分析
题目要求:字符串数组中的最长公共前缀
就是2层循环,思路比较简单
但是在提交的时候,各种报错,一一解决就好。
在不断修改报错的时候,感觉到了代码回滚的必要性
突然才真真明白git代码仓库的价值。
代码展示
class Solution:
def longestCommonPrefix(self, strs) -> str:
if strs == []: #测试数据里有这种特殊情况
return ""
if strs ==[""]: #测试数据里有这种特殊情况
return ""
if "" in strs: #测试数据里有这种特殊情况
return ""
if len(strs)==1:
return strs[0]
minlen=10000
shortest=""
for i in strs:
if len(i)<minlen:
minlen = len(i)
shortest =i #找出最短的字符串
i=1
while i<=minlen:
j=1
while j<len(strs):
if strs[0][0:i]!=strs[j][0:i]:
#对比判断当前的字符串前缀和第一个字符串的前缀
if i==1:
#如果是第一个字符就不等,直接返回空
return ""
else:
return strs[0][0:i-1]
j+=1
i+=1
return shortest
if __name__ == "__main__":
a = Solution()
print(a.longestCommonPrefix(["dog","racecar","car"]))