【题目】
Write a function to find the longest common prefix string amongst an array of strings.
我选择使用Java语言
【分析】
欲求最长公共前缀,首先考虑特殊情况处理(输入的数据有问题)str==null和str.length()==0。
继续分析,最好的情况应当是挑出来的第一个字符串就是答案,为了方便,挑选String[0]作为String pre。接下来判断并修改pre。此时需要利用String的subString()方法和indexOf方法。循环判断pre是否为strs中的其它字符串的前缀(strs[i].indexOf(pre) != 0)pre不满足条件的时候需要去除最后一个元素再进行判断。
public class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs == null || strs.length == 0) {
return "";
}
String pre = strs[0];
int i = 1;
while(i < strs.length){
while(strs[i].indexOf(pre) != 0)
pre = pre.substring(0,pre.length()-1);
i++;
}
return pre;
}
}