题目来源:https://leetcode-cn.com/problems/longest-common-prefix/

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

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

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

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

解答:

package com.zx.leetcode.longestcommonprefix;/*** @Author JAY* @Date 2019/6/29 13:30* @Description 最长公共前缀**/
public class SolutionV2 {public static void main(String[] args) {
//        String[] str = {"dog","dracecar","dcar"};
//        String[] str = {"flower","flow","flight"};String[] str = {"flow","flow2","flow3","flight"};
//        String[] str = {"1flow","2flow","flow"};
        System.out.println(longestCommonPrefix(str));}public static String longestCommonPrefix(String[] strs) {if (strs.length == 0){return "";}String s = strs[0];for (int i = 1; i < strs.length; i++) {while (strs[i].indexOf(s) != 0){s = s.substring(0,s.length() - 1);if (s.isEmpty()){return "";}}}return s;}}

解答二:

package com.zx.leetcode.longestcommonprefix;/*** @Author JAY* @Date 2019/6/29 13:30* @Description 最长公共前缀**/
public class Solution {public static void main(String[] args) {
//        String[] str = {"dog","dracecar","dcar"};
//        String[] str = {"flower","flow","flight"};
//        String[] str = {"flow","flow","flow"};String[] str = {"1flow","2flow","flow"};System.out.println(longestCommonPrefix(str));}public static String longestCommonPrefix(String[] strs) {if(strs == null || strs.length == 0){return "";}boolean begin = true;StringBuilder sb = new StringBuilder();int i = 0;int length = strs.length;String first = strs[0];while (begin){try {String substring = first.substring(i, i + 1);for (int index = 1; index < length; index++){if (!substring.equals(strs[index].substring(i,i+1))){begin = false;break;}}if (begin){sb = sb.append(substring);}if (first.equals(sb.toString())){//说明已经全部匹配到了,推出循环begin = false;}i++;}catch (Exception e){begin = false;}}return sb.length() == 0 ? "" : sb.toString();}}

转载于:https://www.cnblogs.com/ningJJ/p/11106509.html

算法题---最长公共前缀相关推荐

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

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

  2. 采用分治算法迭代计算最长公共前缀问题(python)

    题目 采用分治算法迭代计算最长公共前缀问题(python) 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串"". 示例 1: 输入:strs = ...

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

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

  4. 【每日一算法】最长公共前缀

    微信改版,加星标不迷路! 每日一算法-最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["fl ...

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

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

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

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

  7. 经典算法题——最长公共子序列

    ** 解析: ** 此题一共有两个要点: 1.求上述两个最长公共子序列的长度 2.求所有可能出现的最长公共子序列个数,答案可能很大,只要将答案对10^8求余即可 第一个都很好想到,难点在于第二个.下面 ...

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

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

  9. leetcode算法题--最长公共子数组

    原题链接:https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray/ 相似题目:最长公共子序列 只不过这里必须是连续的, ...

最新文章

  1. questions in the wind
  2. python arduino i2c1602_Arduino通过I2C(PCF8574T)驱动1602LCD
  3. 10.completion_suggester
  4. ospf工作原理_OSPF动态路由配置经典案例
  5. sqli-lab——Writeup21~38(各种过滤绕过WAF和)
  6. 148. Sort List 1
  7. 【在线集成开发环境】Eclipse Che简单上手体验
  8. Java开发中常用的设计模式-单例模式
  9. 可以使用TrafficMonitor查看本机的网速情况
  10. sqlmap安装(python2或python3都行)
  11. 高等代数期末考试题库及答案_高等代数二考试题及答案期末答案
  12. 【Python程序设计(七)】文件和数据格式化
  13. 大核注意力Large Kernel Attention(LKA)
  14. nmn对卵巢的作用,nmn吃多久对卵巢,女性知识!
  15. Chinese NER Using Lattice LSTM 论文解读
  16. 借助Amazon EMR与外部KDC进行身份认证,有效集成业务场景
  17. 没做过项目经理可以考pmp证书吗?普通人考PMP®有用吗?
  18. ap设置 维盟660g_WayOS|路由器WAN口数设置详细教程
  19. 微信模版消息发送失败
  20. Django Restframework 里的小插曲

热门文章

  1. mysql磁盘io高是什么造成_FAQ | 是什么导致MySQL数据库服务器磁盘I/O高(本文章来自知数堂)...
  2. 2021高校毕业生薪酬Top100出炉!
  3. 会写高考作文的AI,内含17亿参数、2亿数据、1万行代码
  4. PyTorch官方教程大更新:增加标签索引,新手更加友好
  5. 视频 | MIT计算机科学速成课
  6. java 反射 单例类_利用反射机制破坏单例模式
  7. 免费公开课 | 强化学习及其在竞速无人机中的应用
  8. SOTIF预期功能安全分析方法
  9. 通过导入txt数据画出python turtle图形_【Python】txt文件读取绘画
  10. hive连接mysql报错_hive远程模式初始化mysql报错