Write a function to find the longest common prefix string amongst an array of strings.
翻译:编写一个函数来寻找最长公共前缀字符串字符串数组之间。
Code:
/**
* @author MohnSnow
* @time 2015年6月3日 下午4:40:55
*
*/
public class LeetCode14 {
/**
* @param argsmengdx
* -fnst
*/
// 320sA
public static String longestCommonPrefix(String[] strs) {
int arr_len = strs.length;
if (arr_len == 0) {
return "";
}
int str_len = strs[0].length();
for (int m = 1; m < arr_len; m++) {
str_len = Math.min(str_len, strs[m].length());
}
int i = 0;
int j = 0;
for (; i < str_len; i++) {
for (j = 1; j < arr_len; j++) {
if (i < strs[j].length()) {
if (strs[j].charAt(i) != strs[0].charAt(i)) {
return strs[0].substring(0, i);
}
} else {
return strs[0].substring(0, i);
}
}
}
return strs[0].substring(0, i);
}
public static void main(String[] args) {
String[] strs = { "adasdf", "asdfsdf", "asxfgas" };
String[] strs1 = { "c", "c" };
String[] strs2 = {};
System.out.println(longestCommonPrefix(strs));
//System.out.println(longestCommonPrefix1(strs));
}
}