Leecode 最长公共前缀
Day 1 刷题
此题没有写出来,仅附上力扣官方代码:
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs == null||strs.length ==0){
return "";
}
String prefix = strs[0];
int count = strs.length;
for (int i=1;i<count;i++){
// wrapper method! so good!
prefix = CommonPrefix(prefix,strs[i]);
if(prefix.length()==0){
break;
}
}
return prefix;
}
public String CommonPrefix(String str1,String str2){
int length = Math.min(str1.length(),str2.length());
int index = 0;
// not satisfying,will break?
while(index<length&&str1.charAt(index)==str2.charAt(index)){
index++;
}
return str1.substring(0,index);
}
}
将多个字符串利用子方法CommonPrefix()可以便捷调用,以避免在main方法里反复使用for循环遍历。同时要注意,字符串为空,可能不指向任何对象或者空(null || string.length ==0)