学习前言
考试好难啊。
题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
解法
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string same = "";
if(strs.size()==0){
return same;
}
for (int j = 0; j<strs[0].length(); j++){
for (int i = 1; i<strs.size(); i++){
if(strs[i][j]!=strs[0][j] || j>=strs[i].length()){
return same;
}
}
same = same + strs[0][j];
}
return same;
}
};
思路:
从第一个字母开始比较,直到找到不同位置。如果超出某个string长度则直接返回。