14. Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings.

找出字符串集合的最长公共前缀。

思路:先计算出前两个字符串的最长公共前缀s,然后用s去和剩下的字符串依次计算公共前缀,若计算结果的长度小于s的长度时替换s,

循环执行,直到所有字符串参与计算,此时s即为整个字符串集合的最长公共前缀。

需要注意当字符串集合为空时的处理。

代码:

 class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string longest = "";
int n = ;
if(strs.size() == )
{
return strs[];
}
if(strs.size() == )
{
return "";
}
strs[].length() > strs[].length() ? n = strs[].length() : n = strs[].length();
for(int i = ; i < n; ++i)
{
if(strs[][i] == strs[][i])
{
longest += strs[][i];
}
else
{
break;
}
}
for(int i = ; i < strs.size(); ++i)
{
string s = "";
for(int j = ; j < longest.length(); ++j)
{
if(j >= strs[i].length() && strs[i][] == longest[])
{
s = strs[i];
}
if(longest[j] == strs[i][j])
{
s += longest[j];
}
else
{
break;
}
}
longest = s;
}
return longest;
}
};

leetcode 14的更多相关文章

  1. [LeetCode] 14. Longest Common Prefix 最长共同前缀

    Write a function to find the longest common prefix string amongst an array of strings. If there is n ...

  2. LeetCode 14. 最长公共前缀(Longest Common Prefix)

    14. 最长公共前缀 14. Longest Common Prefix 题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". Lee ...

  3. Java实现 LeetCode 14 最长公共前缀

    14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower",&quo ...

  4. LeetCode——14. Longest Common Prefix

    一.题目链接:https://leetcode.com/problems/longest-common-prefix/ 二.题目大意: 给定若干个字符串,找出它们的最长公共子串. 三.题解: 这道题目 ...

  5. LeetCode 14 Longest Common Prefix(最长公共前缀)

    题目链接:https://leetcode.com/problems/longest-common-prefix/?tab=Description   Problem: 找出给定的string数组中最 ...

  6. [leetcode] 14. Climbing Stairs

    这道题leetcode上面写着是DP问题,问题是我一开始写了个简单的递归结果直接超时,所以没办法只好拿迭代来做了.题目如下: You are climbing a stair case. It tak ...

  7. LeetCode 14. Longest Common Prefix字典树 trie树 学习之 公共前缀字符串

    所有字符串的公共前缀最长字符串 特点:(1)公共所有字符串前缀 (好像跟没说一样...) (2)在字典树中特点:任意从根节点触发遇见第一个分支为止的字符集合即为目标串 参考问题:https://lee ...

  8. # Leetcode 14:Longest Common Prefix 最长公共前缀

    公众号:爱写bug Write a function to find the longest common prefix string amongst an array of strings. If ...

  9. Leetcode 14. Longest Common Prefix(水)

    14. Longest Common Prefix Easy Write a function to find the longest common prefix string amongst an ...

随机推荐

  1. STM32的串口

    一:2个状态位_itstatus与_flagstatus的区别: _flagstatus:只是读状态标志,不管中断是否使能或发生.例如使用查询方式发送数据就需要读改状态位. _itstatus:和中断 ...

  2. H2 database的使用

    H2最完整的资料下载地址: http://download.csdn.net/detail/yixiaoping/5956595       H2数据库使用   H2数据库介绍 常用的开源数据库:H2 ...

  3. block的传值简单示例仅供参考,大牛勿喷

    #import "ViewController.h" typedef void(^sumBlock)(int s);//声明为一个类型; /** *  用声明的block类型 su ...

  4. JSON.stringify()的使用--将string转换成json

    ===========================================================1. ====JSON.stringify()================== ...

  5. 全文检索引擎Solr系列—–全文检索基本原理

    场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止.这种搜索方法叫做顺 ...

  6. javascript delete方法

    学习delete可以参考下面两个博客,写的都很好,本文大部分参考与以下两个博客 http://www.cnblogs.com/windows7/archive/2010/03/28/1698387.h ...

  7. (medium)LeetCode 224.Basic Calculator

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  8. Python第九章模块和包(2)

    1.如果文件下没有__init__.py文件,程序将不会认为这是一个Python的包. 2.如果要使用from 包  import  *  则需要 这样做. 是模块中包含 方法 的文件没有包含类: # ...

  9. 文件处理函数fopen、fread、fseek、fclose的使用实例介绍

    FILE文件流用于对文件的快速操作,主要的操作函数有fopen.fseek.fread.fclose,在对文件结构比较清楚时使用这几个函数会比较快捷的得到文件中具体位置的数据,提取对我们有用的信息,满 ...

  10. H264 Profile

    H.264有四种profile,对应四种H264画质级别.每个profile支持一组特定的编码功能,并支持一类特定的应用,分别是BP.EP.MP.HP: 1. BP-Baseline Profile ...