Leetcode: Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings.

分析:这道题没什么好方法,暴力搜索比较即可,在用C++实现时有一个小trick就是"If pos is equal to the string length, the function returns a reference to the null character that follows the last character in the string, which shall not be modified" 所以不必先求出所有string的最小长度。代码如下:

class Solution {
public:
    string longestCommonPrefix(vector<string> &strs) {
        if(strs.empty()) return "";
        
        for(int i = 0; i < strs[0].length(); i++)
            for(int j = 1; j < strs.size(); j++){
                if(strs[j][i] != strs[0][i]) return strs[0].substr(0,i);
            }
        return strs[0];//strs[0] is the longest common prefix
    }
};

 

posted on 2014-12-09 12:47  Ryan-Xing  阅读(84)  评论(0编辑  收藏  举报