解题思路-leetcode第十四题:最长公共前缀
题目描述:编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z
首先对输入列表进行判断,若列表长度为空,则返回"",然后取列表的第一个元素,并赋值给s,然后将s作为一个前缀与下一个字符串进行find()操作(find函数检测字符串中是否包含子串,并返回匹配位置的第一个元素的下标),若返回值为0,则说明s是下一字符串的前缀,若不为0,则将s去掉最后一个字符之后重新进行匹配,循环此过程直至列表的最后一个元素。代码如下:
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if len(strs) == 0:
return ''
s = strs[0]
for i in range(1, len(strs)):
while strs[i].find(s) != 0 :
s = s[:-1]
return s
提交后,通过。
本文分享了解决LeetCode第14题的方法,即寻找字符串数组的最长公共前缀。通过遍历数组,利用字符串的find()函数判断每个字符串与当前公共前缀的关系,逐步确定最长公共前缀。例如,输入['flower', 'flow', 'flight'],输出为'fl';输入['dog', 'racecar', 'car'],则无公共前缀,返回''。"
79347882,1095322,Android Appium 环境配置全攻略(镜像加速),"['Android开发', 'Appium', 'SDK Manager', '环境配置', '模拟器']
217

被折叠的 条评论
为什么被折叠?



