leetcode 14. 最长公共前缀(C++)
python版——>leetcode 14:最长公共前缀(python)
题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
来源:14. 最长公共前缀 - 力扣(LeetCode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
逐一比对法
- 取最短字符串长度,从头开始逐一比对
代码如下:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
int len = strs.size();
if(len < 2)
return len ? strs[0] : "";
int i = -1;
bool flag = true;
while(flag)
{
char cc = strs[0][++i];
if(cc == '\0') return strs[0].substr(0,i);
for(int j = 1;j < len;j++)
if(strs[j][i] != cc)
return strs[0].substr(0,i);
}
return "";
}
};
结果:
还没有评论,来说两句吧...