Write a function to find the longest common prefix string amongst an array of strings.
题意:
找到字符串数组中的各个字符串最长的公共前缀
思路:
以 strs[0] 为参照,j 遍历 strs[0] 的长度,i 遍历 strs 的每个 str 进行比较,是否 j 位上的字符一样
不一样则跳出
class Solution(object):
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
r=''
#i=0
if strs==[] or strs==['']:
return ''
for j in range(len(strs[0])):
i=0 #i在内循环初始化
while i+1<len(strs): #如果i,j不满足while的条件,则里面if的return也无法执行,直接跳到 r+=strs[0][j],当然会答案错误
if j>=len(strs[i]) or j>=len(strs[i+1]): #总超界,忘了加等号了
return r
elif strs[i][j]!=strs[i+1][j]:
return r
else:
i+=1
r+=strs[0][j]
return r
Input:
["a"]
Output:
["a"]
Expected:
"a"
所以:
r=''
r+=strs[0][j]
而不是:
r=[]
r.append(strs[0][j])