罗马数字转整数
今天是小安开始Leetcode刷题的第14题,正文开始ing?
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
题目原址
示例1
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例2
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
说明
所有输入只包含小写字母 a-z 。
方法:
思路
所求的最长公共前缀子串一定是每个字符串的前缀子串。所以选择长度最短的字符串作为标准,长度逐渐递减,找寻最长公共子串。
代码实现
【Python实现】
class Solution(object):
def longestCommonPrefix(self, strs):
"""
:type strs: list[str]
:rtype: str
"""
t=""
if not strs:
return ""
if len(strs)==1:
return strs[0]
tem=self.minlen(strs)
j=len(tem)
result=""
flag=1
while j>0:
t=tem[0:j]
for i in range(len(strs)):#当前值
if strs[i][0:j]!=t:
flag=-1
break
if flag==1:
result=t
break
else:
flag=1
j-=1
return result
def minlen(self,strs):
tem=strs[0]
for i in range(len(strs)):
if len(strs[i])<len(tem):
tem=strs[i]
return tem