题目描述

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。

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

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

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

解决思路:

首先考虑vector为空,直接返回""。
然后拿第一个字符串的每个字符,依次与后面字符串的相应字符进行比较,相等则继续比较下一个,不等的话使用string.substr截取第一个字符串的当前位置字符串。
最后就是当vector不为空,而且当第一个字符串的所有字符都顺利比较完了,完全相等的情况下,直接返回第一个字符串strs[0]即可。

C++代码:

class Solution {
public:string longestCommonPrefix(vector<string>& strs) {//异常情况,strs为空if(strs.empty())return "";//第一个string每个字母单独与后面的string相应字母比较for(int letterOfFirst=0;letterOfFirst<strs[0].size();++letterOfFirst){for(int otherStr=1;otherStr<strs.size();++otherStr){//若某个字符开始不相等//使用substr进行截取if(strs[0][letterOfFirst]!=strs[otherStr][letterOfFirst])return strs[0].substr(0,letterOfFirst);}}//一直都没有找到不同的字母return strs[0];}
};

执行结果:

转载于:https://www.cnblogs.com/BoqianLiu/p/10194358.html

LeetCode第14题:最长公共前缀相关推荐

  1. LeetCode题组:第14题-最长公共前缀

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

  2. [Leedcode][JAVA][第14题][最长公共前缀][二分][横竖扫描][分治]

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

  3. Leetcode刷题-最长公共前缀

    Leetcode刷题-最长公共前缀 简介 题目 个人答案及结果 学习一下官方的 简介 最近尝试下大家口口相传的神器 leetcode-cn.com,大家自己注册就可以选择题库进行使用了.我都会先自己出 ...

  4. 算法题---最长公共前缀

    题目来源:https://leetcode-cn.com/problems/longest-common-prefix/ 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符 ...

  5. 力扣刷题——最长公共前缀

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

  6. LeetCode第1143题最长公共子序列

    题目来源 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度. 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符( ...

  7. leetcode算法题--最长公共前缀

    原文链接:https://leetcode-cn.com/problems/longest-common-prefix/ 纵向扫描 string longestCommonPrefix(vector& ...

  8. LeetCode每日一题:14.longest-common-prefix(最长公共前缀)

    首先注意下前缀/后缀和子串的区别: "前缀"和"后缀": "前缀"指除了最后一个字符以外,一个字符串的全部头部组合:"后缀&quo ...

  9. 学渣的刷题之旅 leetcode刷题 14.最长公共前缀

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

最新文章

  1. 好想自己做个迷宫呀!
  2. 数据库VIEW(视图)
  3. Luogu P1198 BZOJ 1012 最大数 (线段树)
  4. 分享JavaScript开发实战经验
  5. Linux维护笔记五
  6. [转载] Java中的字符串处理
  7. [BZOJ2818][P2568]Gcd[欧拉函数]
  8. Coinbase在今日比特币下跌时出现宕机
  9. 计算机组成原理微指令课程设计,计算机组成原理课程设计(微程序设计) New.doc...
  10. 机器学习——神经网络
  11. 国美易卡围绕数据云等科技,国美易卡解决问题
  12. iTop开源 ITSM/ITIL 系统部署(16 图)
  13. Linux云计算学习教程,一个全新的世界—Linux
  14. 腾讯云DDoS攻击防护指南
  15. 520快到了,给你对象写个怦然心动吧
  16. 论文阅读 Jointly Optimize Data Augmentation and Network Training
  17. python自动对齐格式快捷键_ppt里自动对齐快捷键是什么,PowerPoint里自动对齐快捷键是什么?...
  18. 【C语言入门】SDUT《程序设计基础I 》实验2-选择结构程序设计题解 c语言语法讲解
  19. 惠普硬盘测试工具_短DST未通过,图文详解惠普笔记本如何检测硬盘
  20. ArcMap中饼图显示数值的方法

热门文章

  1. 关于 Number() parsint() abs() 的区别
  2. jenkins配置工程目录-启动case
  3. Mac os下android studio模拟器无法联网解决方法
  4. volatile、static
  5. kafka监控工具kafkaOffsetMoniter的使用
  6. WordPress /wp-admin/includes/post.php user_ID 参数操作权限提升漏洞
  7. MSChart中转义符
  8. zbox mysql_20190213云服务器部署禅道
  9. 操作系统动态库调用过程
  10. gRPC Web使用指南