LeetCode解题报告--Longest Common Prefix
2015-08-14 15:43
537 查看
题目:最长公共前缀
Write a function to find the longest common prefix string amongst an array of strings.
分析:题意找出所有字符串的最长公共前缀。 思路简单:如下步骤
1. 找出字符串数组中字符串长度最小的字符串minStr
2. minStr与其余的字符串逐个字符比较,确定最长公共前缀
java 代码:(accepted)
测试结果:
相关代码放在个人github:https://github.com/gannyee/LeetCode/tree/master/src
Write a function to find the longest common prefix string amongst an array of strings.
分析:题意找出所有字符串的最长公共前缀。 思路简单:如下步骤
1. 找出字符串数组中字符串长度最小的字符串minStr
2. minStr与其余的字符串逐个字符比较,确定最长公共前缀
java 代码:(accepted)
public class LongestCommonPrefix { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String[] strs = new String[]{"aabd","aabcd","aaccs","aa"}; System.out.println("Longest Common Prefix: " + longestCommonPrefix(strs)); String[] strs1 = new String[]{"a","b"}; System.out.println("Longest Common Prefix 1: " + longestCommonPrefix(strs1)); String[] strs2 = new String[]{"",""}; System.out.println("Longest Common Prefix 2: " + longestCommonPrefix(strs2)); String[] strs3 = new String[]{"ssa","ssab"}; System.out.println("Longest Common Prefix 3: " + longestCommonPrefix(strs3)); String[] strs4 = new String[]{"","b"}; System.out.println("Longest Common Prefix 4: " + longestCommonPrefix(strs4)); String[] strs5 = new String[]{"leet","left","leave","leat"}; System.out.println("Longest Common Prefix 5: " + longestCommonPrefix(strs5)); } public static String longestCommonPrefix(String[] strs) { String minStr = ""; int minLength = Integer.MAX_VALUE; if(strs.length == 1) return strs[0]; else if(strs.length == 0) return ""; //Find the smallest length for(int i = 0;i < strs.length;i ++){ if(strs[i].length() < minLength){ minStr = strs[i]; minLength = strs[i].length(); } } for(int i = 0;i < strs.length;i ++){ int j; for(j = 0;j < minLength;j ++){ if(minStr.charAt(j) != strs[i].charAt(j)){ break; } } if(j < minLength) minLength = j; } return minStr.substring(0,minLength); } }
测试结果:
Longest Common Prefix: aa Longest Common Prefix 1: Longest Common Prefix 2: Longest Common Prefix 3: ssa Longest Common Prefix 4: Longest Common Prefix 5: le
相关代码放在个人github:https://github.com/gannyee/LeetCode/tree/master/src
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序