Write a function to find the longest common prefix string amongst an array of strings
If there is no common prefix, return an empty string "".
Example 1:
Input: ["flower","flow","flight"]
Output: "fl"
方法一:暴力法,直接用第一个与其他比较
方法二:Horizontal scanning
思想:直接把第一个字符串当做prefix,看其是否是第二个字符串的子串。
若不是,则prefix长度减一。如此便得到了一二两个字符串的prefix,再依次与后面的字符串比较。
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length == 0)//length方法无括号
return "";
String prefix = strs[0];
for(int i = 1;i< strs.length;i++)
{
while(strs[i].indexOf(prefix)!=0)
{
prefix = prefix.substring(0,prefix.length()-1);
if(prefix.isEmpty())
return "";
}
}
return prefix;
}
}
java语法标注:注意length和length()的区别