题目要求:
* Write a function to find the longest common prefix string amongst an array of strings.
* 计算最长公共前缀
解题思路:
使用循环的方式进行处理运算
public class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length == 0) return "";
if(strs.length == 1) return strs[0];
StringBuffer sb = new StringBuffer();
int[] arr = new int[strs.length];
//首先扫描前两个字符串
for(int index = 0; index < strs.length; index++) {
arr[index] = strs[index].length();
}
Arrays.sort(arr);
for(int index = 0; index < arr[0]; index++) {
int flag = 0;
for(int i = 0; i < strs.length - 1; i++) {
if(equalChar(strs[i], strs[i + 1], index)) {
flag++;
if(flag == strs.length - 1) sb.append(strs[i].charAt(index));
}
else return sb.toString();
}
}
return sb.toString();
}
public boolean equalChar(String str1, String str2, int num) {
if(str1.charAt(num) == str2.charAt(num)) return true;
return false;
}
}