博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode:14. Longest Commen Prefix(Easy)
阅读量:5788 次
发布时间:2019-06-18

本文共 1120 字,大约阅读时间需要 3 分钟。

1. 原题链接

2. 题目要求

   给定一个字符串数组,让你求出该数组中所有字符串的最大公共前缀。例如{"qqwwee", "qqww", "qqfds"}的最大公共前缀为"qq",{"qqwwee", "qqww", "qqfds", "wea"}的最大公共前缀为""(空)。

3. 解题思路

(1)首先判断该字符串数组长度是否为零,为零直接返回最大公共前缀为空;

(2)假设该字符串数组中第一个元素strs[0]为最大公共前缀,然后与第二个元素进行比较,判定第二个元素是否包含假定的最大公共前缀,且假定的最大公共前缀的起始位置为0。满足以上要求,则证明该元素与之前的元素共同拥有该前缀。如果不包含,则证明假定的公共前缀不符合要求,将假定的公共前缀缩短一位,然后重新比较。

4. 代码实现

1 public class LongestCommenPrefix14 { 2  3     public static void main(String[] args) { 4         String[] strs = {"weeer", "weer", "wer"}; 5         System.out.println(LongestCommenPrefix14.longestCommonPrefix(strs)); 6     } 7  8     public static String longestCommonPrefix(String[] strs) { 9         if (strs.length == 0)10             return "";11         String prefix = strs[0];12         for (int i = 1; i < strs.length; i++) {13             while (strs[i].indexOf(prefix) != 0) {   //与假定的公共前缀不匹配14                 prefix = prefix.substring(0, prefix.length() - 1); //缩短假定的公共前缀15                 if (prefix.equals(""))16                     return "";17             }18         }19         return prefix;20     }21 }

 

转载于:https://www.cnblogs.com/huiAlex/p/8072229.html

你可能感兴趣的文章
一份关于数据科学家应该具备的技能清单
查看>>
机器学习实战_一个完整的程序(一)
查看>>
Web框架的常用架构模式(JavaScript语言)
查看>>
如何用UPA优化性能?先读懂这份报告!
查看>>
这些Java面试题必须会-----鲁迅
查看>>
Linux 常用命令
查看>>
CSS盒模型
查看>>
ng2路由延时加载模块
查看>>
使用GitHub的十个最佳实践
查看>>
脱离“体验”和“安全”谈盈利的游戏运营 都是耍流氓
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
JAVA的优势就是劣势啊!
查看>>
ELK实战之logstash部署及基本语法
查看>>
帧中继环境下ospf的使用(点到点模式)
查看>>
BeanShell变量和方法的作用域
查看>>
LINUX下防恶意扫描软件PortSentry
查看>>
由数据库对sql的执行说JDBC的Statement和PreparedStatement
查看>>
springmvc+swagger2
查看>>
软件评测-信息安全-应用安全-资源控制-用户登录限制(上)
查看>>
我的友情链接
查看>>