给出n
个字符串,和一个目标串,输出目标串与这n个字符串的最长公共前缀的长度的最大值。
样例
给出["abcba","acc","abwsf"]
,target = "abse"
,return 2
。
解释:
"abse"与"abcba"的最长公共前缀为"ab",长度为2,与"acc"最长公共前缀为"a",长度为1,与"abwsf"最长公共前缀为"ab",长度为2,max(2,1,2) = 2。
给出["aaa","bbb","aabb"]
,target = "aaab"
,return 3
。
解释:
"aaab"与"aaa"最长公共前缀为"aaa",长度为3,与"bbb"最长公共前缀为"",长度为0,与"aabb"最长公共前缀为"aa",长度为2,max(3,0,2) = 3。
解题思路:
class Solution {
public:
/**
* @param dic: the n strings
* @param target: the target string
* @return: The ans
*/
int the_longest_common_prefix(vector<string> &dic, string &target)
{
// write your code here
int max = 0;
for(int i=0;i<dic.size();i++)
{
int maxTmp = 0;
//j用来遍历当前字符串中的字符
for(int j=0 ; j<dic[i].size() && j<target.size() ; j++)
{
if(dic[i][j] == target[j])
maxTmp++;
else
break;
}
if(maxTmp > max)
max = maxTmp;
}
return max;
}
};