实例说明

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"

示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z 。

实现方法:

#include<iostream>
#include<vector>
#include<string>
using namespace std;
string longestCommonPrefix(vector<string>& strs)
{
string re="";
if(strs.empty())
return re;
if(strs.size()==)
{
re+=strs.at();
return re;
}
int jishu=;
int arrsize=strs.at().size();
for(int p=;p<strs.size();p++)
{
if(arrsize>strs.at(p).size())
arrsize=strs.at(p).size();
}
for(int k=,zm=,jn=;k<strs.size()-;k++)
{ while(zm<arrsize&&strs[k][zm]==strs[k+][zm])
{
jn++;
zm++;
if(zm>=arrsize)
break;
}
if(k==)
jishu=jn;
else if(jn<jishu)
jishu=jn;
zm=;
jn=;
} for(int ff=;ff<jishu;ff++)
re+=strs[][ff];
return re;
} int main()
{
//vector<string> str;
//vector<string>::iterator it;
string a[]={"flower","flow","flight"};
//string a[3]={"dog","racecar","car"};
//string a="a";
vector<string> str;
//str.push_back(a);
//cout<<str.at(0)<<endl; for(int nn=;nn<;nn++)
{
str.push_back(a[nn]);
//cout<<str.at(nn)<<endl;
}
/*
string putstr;
//用户自定义收到输入vector容器中的string类对象。
while(cin>>putstr)
{
str.push_back(putstr);
}
*/
string bbbb=longestCommonPrefix(str);
cout<<bbbb<<endl;
return ;
}

面试题:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。(c++实现)的更多相关文章

  1. LeetCode -- 求字符串数组中的最长公共前缀

    题目描写叙述: Write a function to find the longest common prefix string amongst an array of strings.就是给定1个 ...

  2. 014 Longest Common Prefix 查找字符串数组中最长的公共前缀字符串

    编写一个函数来查找字符串数组中最长的公共前缀字符串. 详见:https://leetcode.com/problems/longest-common-prefix/description/ 实现语言: ...

  3. LeetCode第十四题-字符串数组中最长的共同前缀

    Longest Common Prefix 问题简介: 编写一个函数来查找字符串数组中最长的公共前缀字符串,如果没有公共前缀,则返回空字符串"" 举例: 1: 输入: [“xwq” ...

  4. Js中的字符串/数组中常用的操作

    JS为每种数据类型都内置很多方法,真的不好记忆,而且有些还容易记混,现整理如下,以便以后查看: 一.String ①charAt()方法用于返回指定索引处的字符.返回的字符是长度为 1 的字符串. 语 ...

  5. python练习:编写一个函数isIn,接受两个字符串作为参数,如果一个字符串是另一个字符串的一部分,返回True,否则返回False。

    python练习:编写一个函数isIn,接受两个字符串作为参数,如果一个字符串是另一个字符串的一部分,返回True,否则返回False. 重难点:定义函数的方法.使用str类型的find()函数,可以 ...

  6. 已知一个字符串S 以及长度为n的字符数组a,编写一个函数,统计a中每个字符在字符串中的出现次数

    import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 21:04 * @description ...

  7. 编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。

    题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在ACSII码范围内. 输出描述: 输出范围在( ...

  8. 编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成

    编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成.“组合 ”的规则如下: 1). str中的每个字母要么来自于part1,要么来自于part2 ...

  9. 编写一个函数来找出所有不带歧义的函数名,也就是 那些只在一个模块里出现过的函数名(erlang)

    erlang程序设计第八章练习题第二题: code:all_loaded()命令会返回一个由{Mod,File}对构成的列表,内含所有Erlang系统 载入的模块.使用内置函数Mod:module_i ...

随机推荐

  1. C#面向对象(封装)

    以上就是面向对象的封装和初始化:

  2. java 数据的存储

    1. 寄存器. 这是最快的存储区,因为它位于不同于其他存储区的地方 -- 处理器的内部.但是寄存器的数量极其有限,所以寄存器根据需求进行分配.你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象. ...

  3. 改代码不是很熟悉------方法上加入synchronized关键字,会有性能问题---如何改善

    package com.bjpowernode.t14; import java.time.Duration;import java.time.LocalTime; public class Proc ...

  4. Linux 忘记了mysql 密码

    killall mysqld /usr/local/mysql/bin/mysqld_safe --skip-grant-tables & use mysql update user set ...

  5. 被忽视的META标签之特效(页面过渡效果)

    在web设计中使用js可以实现很多的页面特效,然而很多人却忽视了HTML标签中META标签的强大功效,其实meta标签也可以实现很多漂亮的页面过渡效果. META标签是HTML语言HEAD区的一个辅助 ...

  6. Java Swing提供的文件选择对话框 - JFileChooser

    JFileChooser()           构造一个指向用户默认目录的 JFileChooser. JFileChooser(File currentDirectory)           使 ...

  7. linux centOS服务器部署ssh,免密码登陆linux

    登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录 2 创建钥匙, [xun@jzlinux ~]$ ssh-keygen -t rsa Generating public/priv ...

  8. 《Android进阶之光》--RxJava

    No1: RxJava使用 dependencies{ compile 'io.reactivex:rxjava:1.2.0' compile 'io.reactivex:rxandroid:1.2. ...

  9. QMessageBox的用法

    QMessageBox的用法   先来看一下最熟悉的QMessageBox::information.我们在以前的代码中这样使用过:   QMessageBox::information(NULL,  ...

  10. 计蒜客 无脑博士的试管们 【dfs】

    题目链接:https://nanti.jisuanke.com/t/31 题目大意: 无脑博士有三个容量分别是A,B,C 升的试管,A,B,C 分别是三个从 1 到20 的整数,最初,A 和 B 试管 ...