给k个字符串,求出他们的最长公共前缀(LCP)
样例
在 "ABCD" "ABEF" 和 "ACEF" 中, LCP 为 "A"
在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"
题目链接:http://www.lintcode.com/zh-cn/problem/longest-common-prefix/
方法比较简单,就是一次比较每个字符,如果都相等,那么长度加1.
class Solution {
public:
/**
* @param strs: A list of strings
* @return: The longest common prefix
*/
string longestCommonPrefix(vector<string> &strs) {
// write your code here
string res;
if (strs.size() == 0) return "";
for (int i = 0;i < strs[0].size();i++) {
int j = 1;
for (j;j < strs.size();j++) {
if (strs[0][i] != strs[j][i]) return res;
}
if (j == strs.size()) res = res + strs[0][i];
}
return res;
}
};
网友评论