【LeetCode-面试算法经典-Java实现】【014-Longest Common Prefix(最长公共前缀)】
2015-07-20 07:22
761 查看
【014-Longest Common Prefix(最长公共前缀)】
【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
原题
Write a function to find the longest common prefix string amongst an array of strings.题目大意
写一个函数找出一个字串所数组中的最长的公共前缀。解题思路
第一步先找出长度最小的字符串,然后将这个字符串与其它的字符串相比找出最短的最公共前缀。代码实现
public class Solution { public String longestCommonPrefix(String[] strs) { if (strs == null) { return null; } if (strs.length == 0) { return ""; } int min = Integer.MAX_VALUE; // 记录最短的字符串的长度 // 找短字符串的长度 for (String str : strs) { if (str == null) { return null; } if (min > str.length()) { min = str.length(); } } int i; // 记录最长前缀的字符数 boolean flag; for (i = 0; i < min; i++) { flag = true; for (int j = 1; j < strs.length; j++) { if (strs[0].charAt(i) != strs[j].charAt(i)) { flag = false; break; } } if (!flag) { break; } } // if (i == 0) { // return null; // } return strs[0].substring(0, i); } }
评测结果
点击图片,鼠标不释放,拖动一段位置,释放后在新的窗口中查看完整图片。特别说明
欢迎转载,转载请注明出处【/article/1343448.html】
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【013-Roman to Integer (罗马数字转成整数)】
- 【LeetCode-面试算法经典-Java实现】【012-Integer to Roman(数字转罗马字符)】
- 程序员的能力拓展模型
- 传智播客DotNet面试题
- 黑马程序员——Java学习总结 IO部分
- 一个程序员的5年成长之路从1.5k到18k
- 程序员都应该知道的福利
- 程序员的开发项目总是半途而废
- 程序员必知生活经验
- 《C#求职宝典》读书笔记
- 项目思维
- Android 面试题
- 黑马程序员————Java基础日常笔记---反射与正则表达式
- leetcode难度及面试频率
- Java面试题集锦
- 我的六年程序员职业生涯总结(一)
- 读书笔记一 Java程序员的基本修养(数组及其内存管理)
- Java程序员,你为什么要关注Scala
- 黑马程序员-Foundation框架之NSDirctionary类以及NSMutableDirctionary类
- 黑马程序员-Foundation框架之NSArray类