leetcode – 14.最长公共前缀
原题地址:https://leetcode-cn.com/problems/longest-common-prefix/submissions/
题目:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
示例 2:
输入:strs = [“dog”,“racecar”,“car”]
输出:“”
解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
C++纵向解法:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(!strs.size()) return " "; //当strs的长度为0时,返回空“ ”
int wordlen = strs[0].size(); //定义一个wordlen来存储strs第一个字符串的长度
int wordcnt = strs.size(); //定义一个wordcnt来存储strs的长度
for(int i = 0; i < wordlen;i++){
char a = strs[0][i]; //定义一个a来存储第一个单词的第i个字符
for(int j = 1;j < wordcnt; j++){ //定义一个j来遍历整个strs的长度
if(strs[j][i] != a){ //判断相同的字符位置,每个字符串是否与a相同,不相同则进入 入
return strs[0].substr(0 , i); //最后返回与第一个字符串相同的字符
}
}
}
return strs[0]; //返回第一个字符串
}
};