我试图解决这个问题(你可以在这里阅读描述:https://leetcode.com/problems/longest-common-prefix/)下面是我编写的代码,它给出了strs
列表中第一个字符串的prefix
值,并将prefix与列表中的每个字符串进行比较,弹出所有不相等的字符。
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
prefix = strs[0][0]
for i in range(len(strs)):
for j in range(len(prefix)):
if strs[i][j] != prefix[j]:
prefix.pop(prefix[j])
return prefix
但是这段代码在第一个测试用例中失败了,strs = ["flower","flow","flight"]
预期输出是"fl"
,而我的代码只返回"f"
我很难找到解决方案中的问题,也许你能帮上忙?
1条答案
按热度按时间zsbz8rwp1#
使用
zip
并行迭代字符:与使用
itertools.takewhile
的一行程序类似的方法: