c++:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size()==0) return "";//空字符串
string result = "";
for (int i=0;i<strs[0].size();i++)
{
for (int j=1;j<strs.size();j++)
{
if (strs[0][i]!=strs[j][i])
{
return result;//当前的result即为最长公共前缀
}
}
result += strs[0][i];
}
return result;
}
};
将A串作为前缀,如果与B串前面字符不同,则去掉最后一个字符重新和B串匹配,直到字符完全匹配B串,在python中,s = s[:-1]很容易去掉最后一个字符。
find():包含该字符串则返回开始索引,默认开始索引为0,否则返回-1
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
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
14.最长公共前缀
最新推荐文章于 2024-07-24 14:05:37 发布