【简单算法】20.最长公共前缀
题目:
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。
1.解题思路:
双层遍历循环即可,实现方法比较简单。
代码如下:
class Solution { public: string longestCommonPrefix(vector<string>& strs) { if(strs.size() <= 0){ return string(""); } if(strs.size() == 1){ return strs[0]; } int minColum = INT_MAX; for(int i = 0; i < strs.size();++i){ int length = strs[i].size(); minColum = min(minColum,length); } int res = 0; bool isSucess = true; for(int i = 0;i < minColum;++i){ for(int j = 1;j < strs.size();++j){ if(strs[j][i] != strs[j-1][i]){ isSucess = false; break; } } if(isSucess == true){ res++; }else{ break; } } return strs[0].substr(0,res); } };