/************************* LeetCode 14 Longest Common Prefix Write a function to find the longest common prefix string amongst an array of strings. *************************************/ /***************************** 思想: 1.取一个字符串为哨兵,比如取第一个字符串 2.余下字符串分别按位与哨兵字符串比较 3.直至有一个不匹配为止,或者一个字符串达到末尾为止 时间复杂度: O(n*m) n字符串个数 m字符串最短位数 *****************************/ string longestCommonPrefix(vector<string> &strs) { if (strs.size()<1) { return ""; } //以第一个为哨兵,余下的字符串按位分别与哨兵字符串相应位做比较,直至有一个不匹配为止 int ii = 0; for (ii = 0; ii < strs[0].size(); ii++) { for (int jj = 1; jj < strs.size(); jj++) { if (ii >= strs[jj].size() || strs[jj][ii] != strs[0][ii]) { if (ii == 0) return ""; else return strs[0].substr(0, ii); } } } return strs[0]; }
【LeetCode 14】 Longest Common Prefix
最新推荐文章于 2020-05-24 10:35:28 发布