本文主要是介绍LeetCode | Longest Common Prefix,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Write a function to find the longest common prefix string amongst an array of strings.
求字符串最长公共前缀,这题也没啥好说的,就代码可读性上说一说好了。
我写的虽然也是4ms虽然也没错,但是可读性上来说相对差了一点
class Solution {
public:string longestCommonPrefix(vector<string>& strs) {int n=strs.size();if(n==0) return "";int minlen=INT_MAX,pos=0;for(int i=0;i<n;i++){if(strs[i].size()==0) return "";else if(strs[i].size()<minlen){minlen=strs[i].size();pos=i;}}//检查前i位for(int i=0;i<minlen;i++){//检查每一个字符串for(int j=1;j<n;j++){if(strs[j][i]!=strs[0][i])return strs[j].substr(0,i);}}return strs[pos];}
};
注意看标准解答的做法,但是…它没有判断长度
这样还是不太好,慎用…
class Solution {
public:string longestCommonPrefix(vector<string>& strs) {int n=strs.size();if(n==0) return "";for(int i=0;i<strs[0].size();i++){//检查每个前缀for(int j=1;j<n;j++){if(strs[j][i]!=strs[0][i])return strs[j].substr(0,i);}}return strs[0];}
};
这篇关于LeetCode | Longest Common Prefix的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!