题目链接:点击打开链接
类型:字符串处理
解法:找到最短的字符串长度,依次进行处理
public class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs.length < 1)
return "";
int min_len = strs[0].length();
for (int i = 1 ; i < strs.length ; ++i)
{
min_len = Math.min(min_len, strs[i].length());
}
for (int j = 0 ; j < min_len ; ++j)
{
char curr = strs[0].charAt(j);
for (int k = 1 ; k < strs.length ; ++k)
{
if (strs[k].charAt(j) == curr)
{
continue;
}
else
{
return strs[0].substring(0, j);
}
}
}
return strs[0].substring(0, min_len);
}
}
解法:利用Java自带的Arrays.sort函数,对
public class Solution {
public String longestCommonPrefix(String[] strs) {
StringBuilder result = new StringBuilder();
if (strs != null && strs.length > 0)
{
Arrays.sort(strs);
char[] a = strs[0].toCharArray();
char[] b = strs[strs.length-1].toCharArray();
for (int i = 0 ; i < a.length ; i++)
{
if (b.length > i && b[i] == a[i])
{
result.append(b[i]);
}
else
{
return result.toString();
}
}
}
return result.toString();
}
}