Longest Common Prefix

来源:互联网 发布:互联网平台运营知乎 编辑:程序博客网 时间:2024/06/06 05:23

题目:

Write a function to find the longest common prefix string amongst an array of strings.

题意:

就是求一个字符串数组中的所有字符串的最长前缀。也就是说在做一个字符串数组中,因为有很多个子字符串,所以需要依次比较。这里有一个思路,因为2个字符串的最长公共前缀,其长度必然不可能超过最短字符串的长度,设最短字符串长度为n,那么只要比较这2个字符串的前n个字符即可。得到的最长公共前缀prefix,再拿这个与数组中的下一个字符串做比较,方法同上。如果数组中的某个字符串长度为0,那么就直接返回""(不是null)。

public String longestCommonPrefix(String[] strs){int length = strs.length;if(length == 0)return "";else{String prefix = strs[0];for(int i = 1; i < length; i++){if(prefix.length() == 0 || strs[i].length() == 0)return "";     //每次先判断拿到的字符串的长度是否是0,如果是0,那么就直接返回空int len = prefix.length() < strs[i].length() ? prefix.length() : strs[i].length();  //然后再判断长度,哪个小,就将小的赋值给lenint j = 0;for(j = 0; j < len; j++)    //每次都一次比较{if(prefix.charAt(j) != strs[i].charAt(j))break;}prefix = prefix.substring(0, j);}return prefix;}}


0 0
原创粉丝点击