高性能的网站建设指南,芙蓉区营销型网站建设定制,网站设计师的专业知识,深圳电梯广告制作公司网站编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀#xff0c;返回空字符串 。示例 1#xff1a;输入#xff1a;strs [flower,flow,flight]输出#xff1a;fl示例 2#xff1a;输入…编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀返回空字符串 。示例 1输入strs [flower,flow,flight]输出fl示例 2输入strs [dog,racecar,car]输出解释输入不存在公共前缀。来源力扣LeetCode链接https://leetcode.cn/problems/longest-common-prefix著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。方法纵向扫描。纵向扫描时从前往后遍历所有字符串的每一列比较相同列上的字符是否相同如果相同则继续对下一列进行比较如果不相同则当前列不再属于公共前缀当前列之前的部分为最长公共前缀。class Solution {public: string longestCommonPrefix(vectorstring strs) { if (!strs.size()) { return ; } int length strs[0].size(); int count strs.size(); for (int i 0; i length; i) { char c strs[0][i]; for (int j 1; j count; j) { if (i strs[j].size() || strs[j][i] ! c) { return strs[0].substr(0, i); } } } return strs[0]; }};时间复杂度O(mn)其中 m 是字符串数组中的字符串的平均长度n 是字符串的数量。最坏情况下字符串数组中的每个字符串的每个字符都会被比较一次。空间复杂度O(1)。使用的额外空间复杂度为常数。