题解 | #最长公共前缀#
最长公共前缀
http://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47
先数组排序,然后只需要比较最大和最小的暨第一个和最后一个string,保存一个标记位i,利用substr返回string中第一个到第i个组成的子字符串;注意,如果strs为空,必须返回"".
class Solution { public: /** * * @param strs string字符串vector * @return string字符串 */ string longestCommonPrefix(vector<string>& strs) { // write code here int len = strs.size(); if(len == 0) return ""; sort(strs.begin(),strs.end()); int flag = min(strs[0].size(),strs[len-1].size()); int i = 0; for(i = 0;i<flag;++i) { if(strs[0][i] != strs[len-1][i]) break; } return strs[0].substr(0,i); } };