编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: ""
解释: 输入不存在公共前缀。
class Solution {
public String longestCommonPrefix(String[] strs) {
String defaultString = "";
if (strs.length == 0) {
return defaultString;
}
int minStrLength = strs[0].length();
defaultString = strs[0];
for (int i = 1; i < strs.length; ++i) {
minStrLength = minStrLength > strs[i].length() ? strs[i].length() : minStrLength;
for (int j = 0; j < minStrLength; ++j)
{
if(defaultString.length()<=j)
{
break;
}
if(strs[i].charAt(j)!=defaultString.charAt(j))
{
defaultString=defaultString.substring(0, j);
break;
}
}
}
if(defaultString.length()>minStrLength)
{
defaultString=defaultString.substring(0, minStrLength);
}
return defaultString;
}
}