编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
class Solution {
public String longestCommonPrefix(String[] strs) {
int count = strs.length;
String prefix = "";
if(count != 0){
prefix = strs[0];
}
for(int i=0; i<count; i++){
while(!strs[i].startsWith(prefix)){ //从后向前找到,公共前缀,每次向前截取一个长度,
prefix = prefix.substring(0, prefix.length()-1);
}
}
return prefix;
}
}
例如:flowers -->flower–>flowe–>flow–>flo–>fl
--------( flow…
--------( flight…
直到比较出公共前缀,startsWith函数为比较公共前缀函数。
public class Test {
public static void main(String args[]) {
String Str = new String("www.runoob.com");
System.out.print("返回值 :" );
System.out.println(Str.startsWith("www") );
System.out.print("返回值 :" );
System.out.println(Str.startsWith("runoob") );
System.out.print("返回值 :" );
System.out.println(Str.startsWith("runoob", 4) ); //从index位置开始比较
}
}
以上程序执行结果为:
返回值 :true
返回值 :false
返回值 :true