leetcode14

来源:互联网 发布:2016年中国m2数据 编辑:程序博客网 时间:2024/06/06 00:40

Longest Common Prefix

也是看题目类似,就跳着做题。

题目就是在以string组成的数组中找这些string的最长前缀。

我的思路:

1、第一步先对容器排序,求得数组中最长串的长度MAXLEN。

2、以数组的中元素串第一位开始到MAXLEN循环进行比对,对数组索引进行迭代,来比较数组串中每一个元素串从第一位开始的每一位。

3、如果相等(即一轮比较匹配了数组中所有串的第j个元素)将字符添加到result串中,一旦不相等,立刻break;

代码如下:

bool cmp(const string& s1, const string &s2){return s1.size()<s2.size();}class Solution {public:string longestCommonPrefix(vector<string>& strs) {int i;int j;string result = "";if (strs.size() == 0)return "";sort(strs.begin(), strs.end(), cmp);for (j = 0; j<strs[strs.size() - 1].length(); j++){i = 0;while (i<(strs.size() - 1) && strs[i][j] == strs[i + 1][j]){i++;}if (i == strs.size() - 1){result = result + strs[i][j];}elsebreak;}return result;}};

另:跳着做,前面没做的会补上。

0 0