leetcode:java.T014

xiaoxiao2021-02-28  104

<span style="color:#ff4635">敬请关注博客,后期不断更新优质博文,谢谢</span> package leetcode.T014_LongestCommonPrefix; /** * @Title: Solution.java * @Package leetcode.T014_LongestCommonPrefix * @Description: TODO * @author zhouzhixiang * @date 2017-6-6 下午11:07:25 * @version V1.0 */ public class Solution { /** * <pre> * 原题 * Write a function to find the longest common prefix string amongst an array of strings. * * 题目大意 * 写一个函数找出一个字串所数组中的最长的公共前缀。 * * 思路: * 先找出长度最短的字符串,然后将此最短字符串与其他字符串比较,找出最小公共前缀 * </pre> * * @param strs * @return */ public static void main(String[] args) { String[] str = {"abcfdsg","abcrrr","abcd","abcde","abcdef","abcdefg"}; String s = new Solution().findLongestCommonPrefix(str); System.out.println(s); } /** * @Title: findLongestCommonPrefix * @Description: TODO * @param @param str * @param @return * @return String * @throws */ private String findLongestCommonPrefix(String[] str) { if(str==null ) { return null; } if(str.length==0){ return ""; } int min = Integer.MAX_VALUE; // 找出最短字符串 for(String s : str){ if(min>s.length()){ min = s.length(); } } int i; // 遍历判断,依据最短字符串长度进行遍历 for(i=0; i<min; i++){ boolean flag = true; for(int j=0; j<str.length;j++){ if(str[0].charAt(i)!=str[j].charAt(i)){ flag = false; break; } } if(!flag){ break; } } String string = str[0].substring(0, i); return string; } }

欢迎加入Java猿社区  

转载请注明原文地址: https://www.6miu.com/read-59045.html

最新回复(0)