public String longestCommonPrefix(String[] strs) {
//String temp= strs[0] ; //让第一个与后面一一比较 这是思路
if(strs.length==0 || strs.equals("")) // 判断第一个元素的情况
{
return "";
}
String temp= strs[0] ; //让第一个与后面一一比较 这是思路
// 后面有三种情况,temp是最长的 第二不是最长的 第三可能有空
for(int i =1 ; i<strs.length ; i++) //遍历比较
{
if(temp.length()<strs[i].length()) // temp是长度最小情况
{
for (int j =0;j<temp.length();j++)
{
if(temp.charAt(j)!=strs[i].charAt(j))
{
temp = temp.substring(0,j);
}
}
}
else if(strs[i].length()==0)
{
temp = "";
break;
}
else{ // temp不是最短的情况
for (int j =0;j<strs[i].length();j++)
{
if(temp.charAt(j)!=strs[i].charAt(j))
{
temp =strs[i].substring(0,j);
break;
}
if(j == strs[i].length() - 1)
{
temp = strs[i];
}
}
}
}
return temp;
}
注意 break 不然会漏 如 aca cba这种情况
leetcode14 Java
最新推荐文章于 2022-11-02 20:47:18 发布