代码实现

直观的做法

  1. class Solution:
  2. def longestCommonPrefix(self, strs: List[str]) -> str:
  3. end=1
  4. number=len(strs)
  5. if number==0:# 排除空列表的情况
  6. return ""
  7. minimal_length=100
  8. for i in range(number):# 找到列表中最小的字符串长度
  9. t=len(strs[i])
  10. if t<minimal_length:
  11. minimal_length=t
  12. if minimal_length==0: # 排除不是空列表但是列表中字符串都为空的情况
  13. return ""
  14. key=0# 用于跳出循环
  15. for end in range(1,minimal_length+1):# end是切片参数
  16. t=strs[0][:end]# 尝试切片得到一种后缀
  17. for i in range(number):
  18. if t==strs[i][:end]:
  19. continue
  20. else:
  21. end=end-1
  22. key=1
  23. break
  24. if key==1:
  25. break
  26. return strs[0][:end]

Python版[leetcode]14. 最长公共前缀(难度简单) # 有好几种方法,但是没看懂
Python zip()与zip(*)区别
Python中map与lambda的结合使用