标签:long ret color nbsp string 相同 ges func code
Write a function to find the longest common prefix string amongst an array of strings.
写一个函数找到最长的公共前缀在所有的字符串数组中。
例如
"aba"
"abbb"
"abcc"
"ab"
它们的公共前缀就是"ab"
思路:直接找这个前缀,从第一个字符串第一个字符开始。以此后面的字符串的第一个字符以此比对
如果都相同,则把这个字符加入到结果字符串中。
代码如下
class Solution { public: string longestCommonPrefix(vector<string>& strs) { if(strs.empty())return ""; string perfix=""; for(int pf=0;pf<strs[0].size();++pf){ //第一个字符串 从第一个字符开始 假设它为perfix for(int i=1;i<strs.size();++i){ if(strs[i].empty())return ""; //如果发现有空字符串 自然是没有前缀 if(strs[i][pf]!=strs[0][pf])return perfix; //如果发现前缀出现不同 说明从这一竖开始前缀就不同了 } perfix+=strs[0][pf]; //同一竖所有的字符都相同 这个字符就可以加入到前缀字符中 } return perfix; } };
[LeetCode]14. Longest Common Prefix
标签:long ret color nbsp string 相同 ges func code
原文地址:http://www.cnblogs.com/captzx/p/7092455.html