码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode]14. Longest Common Prefix

时间:2017-06-29 09:58:59      阅读:113      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!