力扣:求最长公共前缀

编程入门 行业动态 更新时间:2024-10-26 14:38:47

力扣:求最长公共<a href=https://www.elefans.com/category/jswz/34/1768815.html style=前缀"/>

力扣:求最长公共前缀


编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串
示例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 <string>using namespace std;class Solution {
public:string longestCommonPrefix(vector<string>& 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() {vector<string> strs = {"flower", "flow", "flight"};Solution sol;cout << sol.longestCommonPrefix(strs) << endl;return 0;
}

更多推荐

力扣:求最长公共前缀

本文发布于:2023-11-17 05:34:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1639948.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:前缀   最长   力扣

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!