Easy 14 – 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
我的版本:
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
common_prefix = ""
while "" not in strs:
first_letter = []
for position, str in enumerate(strs):
first_letter.append(str[0])
strs[position] = str[1:]
if len(list(set(first_letter))) == 1:
common_prefix += first_letter[0]
else:
break
return common_prefix
从结果来看问题倒是不大,执行用时32ms,内存消耗14.8M。
然后看到评论区的一个解法真的很厉害:
利用python的max()和min(),在Python里字符串是可以比较的,按照ascII值排(举例:abb, aba,abac,最大为abb,最小为aba),所以只需要比较最大最小的公共前缀就是整个数组的公共前缀。
这个思路真的很牛批,但是跑出来的结果来看和我的差不多,嘻嘻。
我还是挺喜欢写代码解决问题的感觉的,当然了,机器学习除外。
Leave a Reply