[leetcode#4]Longest Common Prefix

来源:互联网 发布:js 判断是否是整数 编辑:程序博客网 时间:2024/06/15 14:39

Longest Common Prefix

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

找最长公共字符串。
思路:对字符串进行排序,先让s[0]与s[1]比较出公共前缀,
然后把公共前缀与每个字符串进行比较,得出最长公共前缀

#include <cstring>#include <algorithm>#include <string>#include <vector>using namespace std;class Solution {public:    string Compare(string a, string b) {        int len = a.length();        int len1 = b.length();        len = min(len, len1);        string s = "";        for (int i = 0; i < len; i++) {            if (a[i] != b[i])                break;            else                s += a[i];        }        return s;    }    string longestCommonPrefix(vector<string>& strs) {        sort(strs.begin(), strs.end());        int n = strs.size();        string s = "";        if (n == 0)        return s;        if (n == 1)        return strs[0];        s = Compare(strs[0], strs[1]);        for (int i = 1; i < n-1; i++) {            s = Compare(s, strs[i+1]);        }        return s;    }};
0 0