leetcode 14 最长公共前缀

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

示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”

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

文章目录

  • leetcode 14 最长公共前缀
  • 一、方法一,两两单词比较(横向比较)
  • 二、方法二,每个字符进行比较(纵向比较)

一、方法一,两两单词比较(横向比较)

方法一:可以两两单词进行比较,找出两两单词的公共前缀,再拿得出的公共前缀和第三个单词进行比较,在得出公共前缀。

//两两单词进行比较
public String longestCommonPrefix(String[] strs) {//设置第一个单词为默认公共前缀String commonPrefix=strs[0];//从第二个单词开始比较for(int i=1;i<strs.length;i++){//获取当前单词String next=strs[i];int j=0;for(;j<commonPrefix.length()&& j<next.length();j++){if(commonPrefix.charAt(j)!=next.charAt(j)){break;}}commonPrefix=commonPrefix.substring(0,j);}  return commonPrefix;     }

二、方法二,每个字符进行比较(纵向比较)

方法二:可以拿出第一个单词中的第一个字符和其余字符串中的第一个字符进行比较,如果相同,拿出第下一个字符和其余字符串的第二个字符进行比较,以此类推。如果不同,则返回之前扫描过的字符组成的字符串。

public String longestCommonPrefix(String[] strs){//遍历第一个单词中的每个字符for(int i=0;i<strs[0].length();i++){//得到当前字符char cur=strs[0].charAt(i);//从第二个单词开始遍历for(int j=1;j<strs.length;j++){//获取当前单词String next=strs[j];if(i<next.length() && next.charAt(i)==cur){//如果字符相同,则继续循环continue;}else{//当前字符不同,则直接返回strs[0]的[0,i)中的字符,//因为[0,i-1]的字符之前已经扫描过,确保是公共前缀。return strs[0].substring(0,i);}}}//说明第一个单词为公共前缀,或者字符串数组里的字符串都是相同的。return strs[0];}

LeetCode14 最长公共前缀相关推荐

  1. LeetCode14.最长公共前缀 JavaScript

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

  2. LeetCode14最长公共前缀

    未经博主同意,禁止瞎JB转载. LeetCode14最长公共前缀 https://leetcode-cn.com/problems/longest-common-prefix/description/ ...

  3. LeetCode-14 最长公共前缀

    文章目录 题目描述 我的解法 反思1 优化1 反思2 优化2 其他思路 总结 Github 题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "&q ...

  4. leetcode14. 最长公共前缀

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

  5. LeetCode-14.最长公共前缀(字符串的erase()函数)

    题目内容 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-common-prefix/ 编写一个函数来查找字符串数组中的最长公共 ...

  6. Leetcode14:最长公共前缀【c语言实现】

    写这个题的时候遇到了挺多的问题 首先就是拿到这个题的时候就看不懂的函数的参数了 就像是这样,char ** ????黑人问号,然后就去查资料补了一下知识漏洞.整理了一篇博客.各位有必要的话可以看一下. ...

  7. 最长公共前缀—leetcode14

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

  8. 【力扣网练习题】最长公共前缀

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

  9. leetcode--最长公共前缀--python

    文章目录 题目 题目详情 示例 解题思路 代码 运行结果 最佳方案 题目 题目详情 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 ...

最新文章

  1. 汇编语言使用C库函数和Linux动态链接
  2. java大作业私人管家系统_操作系统概念(Operating System Concepts)第十版期中大作业...
  3. ios unrecognized selector sent to instance出现的原因和解决方案
  4. controller接收json数据_SpringBoot实战(二):SpringMvc接收xml请求
  5. 永劫无间最无解振刀,法神推出缴械奇招,距离高手只差一步
  6. android beam传输速率,无线网络的速率为何不能达到最大值
  7. android 按钮顶级效果_人人都可写代码-Android零基础编程-相对布局11
  8. axios使用post请求服务端不能获取参数的解决方法
  9. 关于SDWebImage
  10. erp服务器慢_ERP系统服务器维护经验谈
  11. 软考软件设计师中级考试大纲(附题型举例)
  12. 几个好用的资源下载网址
  13. 用matlab建立晶体模型,一种建立多晶体几何模型的方法与流程
  14. MySQL-性能优化
  15. 菜肴百度百科html,酸汤鱼
  16. 程序员值得看的电影(20170420EDIT)
  17. 【树莓派】从零搭建DAS服务器,挂载扩容硬盘,实现文件存储与自动下载
  18. July 16th 模拟赛C T3 圆周舞蹈 Solution
  19. 计算机二级系统班C语言讲义,计算机二级C语言讲义8
  20. SoundPool的使用

热门文章

  1. php重定向和静态化,PHP实现URL静态化
  2. 使用饼图_使用R做饼图展示单细胞的cluster的比例
  3. html面包屑菜鸟,css content属性与before及after伪元素配合使用价值发挥到最大
  4. python方格染色_判定二部图的着色算法(Python),题,染色法,判断,二分
  5. Python使用正则表达式分割字符串
  6. 10 个平板电脑上的 Python 编辑器
  7. C语言头文件为什么要加#ifndef #define #endif(防止头文件重复包含)
  8. jinja2 {{}} href 双大括号
  9. 华硕主板X99-E WS/USB 3.1 Intel Realsense D435摄像头掉线是否与Intel推行的xhci有关?
  10. ubuntu多版本python和pip切换