1.题目
Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string ""
.
Example 1:
Input: ["flower","flow","flight"] Output: "fl"
Example 2:
Input: ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings.
Note:
All given inputs are in lowercase letters a-z
.
2.解析
题意是寻找数组中字符串中的最大公共子串,既然是公共子串,所以数组中每一个字符串都有该子串。因此先默认第一个字符串为公共子串,然后和后面的字符串依次对比,最小的那个就是;
3.代码
扫描二维码关注公众号,回复:
1681539 查看本文章
class Solution: # @param {string[]} strs # @return {string} def longestCommonPrefix(self, strs): if len(strs)==0:return "" str=strs[0] Min=len(str) for i in range(1,len(strs)): j=0;p=strs[i] while j<Min and j<len(p) and p[j]==str[j]:j+=1 Min = Min if Min<j else j return str[:Min]