最长公共前缀---简单
Posted manch1n
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最长公共前缀---简单相关的知识,希望对你有一定的参考价值。
题目:
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""
。
示例:
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
思路:
先找出最小长度的,然后每个字符串匹配。O(n)
class Solution { public: string longestCommonPrefix(vector<string>& strs) { int size=strs.size(); if(size==0) return ""; int min=strs[0].size(); for(int i=0;i<size;i++) if(strs[i].size()<min) min=strs[i].size(); if(min==0) return ""; int j=0; for(;j<min;j++) { char temp=strs[0][j]; for(auto &s:strs) { if(s[j]!=temp) return string(strs[0].begin(),strs[0].begin()+j); } } return string(strs[0].begin(),strs[0].begin()+j); } };
以上是关于最长公共前缀---简单的主要内容,如果未能解决你的问题,请参考以下文章