思路如下
需要注意的点:
- 取最短的那一列的长度作为循环条件
- substring( n , m] 是半开区间,不包含m
方法不好,虽然实现了,但只得了这个结果。
import java.util.*;
public class Solution {
/**
*
* @param strs string字符串一维数组
* @return string字符串
*/
public String longestCommonPrefix (String[] strs) {
if(strs.length == 0){
return "";
}
int min = strs[0].length();
for(int i = 0; i < strs.length; ++i){
min = Math.min(min, strs[i].length());
}
for(int i = 0; i < min; ++i){
//char c = strs[0].charAt(i);
for(int j = 0; j < strs.length; ++j){
// if(c != strs[j].charAt(i)){
if(strs[0].charAt(i) != strs[j].charAt(i)){
return strs[0].substring(0, i);
}
}
}
return strs[0].substring(0, min);
}
}