leetcode 解题

Leetcode [14]最长的通用前缀 LongestCommonPrefix  [python]

 题目如下:

 1 class Solution():
 2     def LongestCommonPrefix(self,strs):
 3         res=''
 4         if len(strs)==0:
 5             return res
 6         for i in range(len(strs[0])):
 7             for j in range(1,len(strs)):
 8                 if i>=len(strs[j]) or strs[0][i]!=strs[j][i]:
 9                         return res
10             res+=strs[0][i]

暴力美学,就是双重循环嵌套。比如说strs=[“flower”,“flow”,“flight”],我们先随意取strs的一个元素,例如,这里取了strs[0]也就是flower,与剩下的strs[]的元素做对比

一循环:

i=0,j=1,len(strs[1])=3:非常直观的看到strs[0][0]=strs[1][0],不满足if循环条件,res+=strs[0][0],(res='')

i=0,j=2,len(strs[2])=5,非常直观的看到strs[0][0]=strs[2][0],不满足if循环条件, res+=strs[0][0],(res=''+f),此时,完成第一次的i循环是,res=f

二循环:

i=1,j=1......道理同上

i=1,j=2......同上

.......

#这里当时想的时候,是想把满足条件的str[0][i]加到res里,但是会重复,原因出在,strs[0]和strs[1],strs[2]做对比的时候,都相等,在res里加入了两次f。造成了错误

emmmm,果然是新手。

猜你喜欢

转载自www.cnblogs.com/lchang0203/p/9237430.html
今日推荐