网站建设案例 算命网站,黄山区建设学会网站,3d设计网站,做网站的步骤流程编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀#xff0c;返回空字符串 示例1: 输入: strs [flower, flow , flight] 输出: fl 示例2: 输入: strs [dog,racecar,car返回空字符串 示例1: 输入: strs [flower, flow , flight] 输出: fl 示例2: 输入: strs [dog,racecar,car] 输出: 1111 解释:输入不存在公共前缀。
答案里面纵向扫描依次遍历每个字符串更新最长公共前缀。首先还是熟悉的操作声明一个 类这个类叫Solution,定一个一个共有成员String longestCommonPrefix,首先要判断字符串是否为空用一个变量存储字符串的大小并且遍历第一个字符串的数组并且把第一个字符串的i个字符存储到变量那么去用第一个字符串的i个字符去与其他字符串进行判断如果其他字符串比如第j个如果当前字符串的第i个索引等于j个字符串长度或者不等于第j个字符串的第i个索引那么就返回前面的索引。
#include iostream
#include vector
#include stringusing namespace std;class Solution {
public:string longestCommonPrefix(vectorstring strs) {if (strs.empty()) {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];}
};int main() {vectorstring strs {flower, flow, flight};Solution sol;cout sol.longestCommonPrefix(strs) endl;return 0;
}