14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入:strs = ["flower","flow","flight"] 输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
仅由小写英文字母组成
解析:
设一个公共vector即可,每个str都与之元素比较
class Solution { public: string longestCommonPrefix(vector<string>& strs) { vector<char> dic; for(int i = 0; i < strs.size(); i++) { string str = strs[i]; if(i == 0) { for(int j = 0; j < str.length(); j++) dic.push_back(str[j]); } else { while(str.length() < dic.size()) { dic.pop_back(); } for(int k = 0; k < dic.size(); k++) { if(k < str.length() && dic[k] != str[k]) { while(dic.size() != k) dic.pop_back(); break; } } } } string ret = ""; for(int i = 0; i < dic.size(); i++) ret += dic[i]; return ret; } };