标签:leetcode string vector prefix 前缀
【题目】
Write a function to find the longest common prefix string amongst an array of strings.
【分析】
公共前缀指的是所有字符串的前缀都相同。显然,这个最长公共前缀的长度不会超过所有字符串中最短的那个。
我们先求得最短串长minLen,然后遍历所有字符串中的前minLen是否相等。
【代码】
运行时间:7ms
class Solution { public: string longestCommonPrefix(vector<string>& strs) { if(strs.empty()) return ""; int minLen = strs[0].length(); for(int i = 0; i < strs.size(); i++) { minLen = minLen < strs[i].length() ? minLen : strs[i].length(); //minLen = min(minLen, strs[i].size()); // obtain the minimal length } string res = ""; bool same = true; for(int j = 0; same && j < minLen; j++) { for(int k = 1; k < strs.size(); k++) { if(strs[k][j] != strs[0][j]) { same = false; break; } } if(same) res = res + strs[0][j]; // after the loop, res should ++ } return res; } };
标签:leetcode string vector prefix 前缀
原文地址:http://blog.csdn.net/puqutogether/article/details/45555489