算法题---最长公共前缀
题目来源: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
算法题---最长公共前缀相关推荐
- leetcode算法题--最长公共前缀
原文链接:https://leetcode-cn.com/problems/longest-common-prefix/ 纵向扫描 string longestCommonPrefix(vector& ...
- 采用分治算法迭代计算最长公共前缀问题(python)
题目 采用分治算法迭代计算最长公共前缀问题(python) 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串"". 示例 1: 输入:strs = ...
- Leetcode刷题-最长公共前缀
Leetcode刷题-最长公共前缀 简介 题目 个人答案及结果 学习一下官方的 简介 最近尝试下大家口口相传的神器 leetcode-cn.com,大家自己注册就可以选择题库进行使用了.我都会先自己出 ...
- 【每日一算法】最长公共前缀
微信改版,加星标不迷路! 每日一算法-最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["fl ...
- LeetCode题组:第14题-最长公共前缀
1.题目:最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower",&quo ...
- [Leedcode][JAVA][第14题][最长公共前缀][二分][横竖扫描][分治]
[问题描述][中等] 编写一个函数来查找字符串数组中的最长公共前缀.如果不存在公共前缀,返回空字符串 "".示例 1:输入: ["flower","f ...
- 经典算法题——最长公共子序列
** 解析: ** 此题一共有两个要点: 1.求上述两个最长公共子序列的长度 2.求所有可能出现的最长公共子序列个数,答案可能很大,只要将答案对10^8求余即可 第一个都很好想到,难点在于第二个.下面 ...
- 力扣刷题——最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入:strs = ["flower","flo ...
- leetcode算法题--最长公共子数组
原题链接:https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray/ 相似题目:最长公共子序列 只不过这里必须是连续的, ...
最新文章
- questions in the wind
- python arduino i2c1602_Arduino通过I2C(PCF8574T)驱动1602LCD
- 10.completion_suggester
- ospf工作原理_OSPF动态路由配置经典案例
- sqli-lab——Writeup21~38(各种过滤绕过WAF和)
- 148. Sort List 1
- 【在线集成开发环境】Eclipse Che简单上手体验
- Java开发中常用的设计模式-单例模式
- 可以使用TrafficMonitor查看本机的网速情况
- sqlmap安装(python2或python3都行)
- 高等代数期末考试题库及答案_高等代数二考试题及答案期末答案
- 【Python程序设计(七)】文件和数据格式化
- 大核注意力Large Kernel Attention(LKA)
- nmn对卵巢的作用,nmn吃多久对卵巢,女性知识!
- Chinese NER Using Lattice LSTM 论文解读
- 借助Amazon EMR与外部KDC进行身份认证,有效集成业务场景
- 没做过项目经理可以考pmp证书吗?普通人考PMP®有用吗?
- ap设置 维盟660g_WayOS|路由器WAN口数设置详细教程
- 微信模版消息发送失败
- Django Restframework 里的小插曲
热门文章
- mysql磁盘io高是什么造成_FAQ | 是什么导致MySQL数据库服务器磁盘I/O高(本文章来自知数堂)...
- 2021高校毕业生薪酬Top100出炉!
- 会写高考作文的AI,内含17亿参数、2亿数据、1万行代码
- PyTorch官方教程大更新:增加标签索引,新手更加友好
- 视频 | MIT计算机科学速成课
- java 反射 单例类_利用反射机制破坏单例模式
- 免费公开课 | 强化学习及其在竞速无人机中的应用
- SOTIF预期功能安全分析方法
- 通过导入txt数据画出python turtle图形_【Python】txt文件读取绘画
- hive连接mysql报错_hive远程模式初始化mysql报错