14. 最長公共首碼 題目描述 編寫一個函數來查找字元串數組中的最長公共首碼。 如果不存在公共首碼,返回空字元串 ""。 方法 暴力演算法 先判斷字元串數組是否有為空,為空直接返回空 令第一個字元串作為基準進行比較 設置一個長度,作為最後最長公共首碼的長度 迴圈判斷,選取最小長度 代碼 package ...
14. 最長公共首碼
題目描述
編寫一個函數來查找字元串數組中的最長公共首碼。
如果不存在公共首碼,返回空字元串 ""。
方法 暴力演算法
先判斷字元串數組是否有為空,為空直接返回空
令第一個字元串作為基準進行比較
設置一個長度,作為最後最長公共首碼的長度
迴圈判斷,選取最小長度
代碼
package easy.最長公共首碼14;
class Solution {
public String longestCommonPrefix(String[] strs) {
//如果為空,直接返回空
if ("".equals(strs[0])) return "";
//第一個作為基準進行比較
String s = strs[0];
//記錄最長公共首碼的長度
int len = s.length();
for (int i = 1; i < strs.length; i++) {
int l = 0;
if ("".equals(strs[i])) return "";
int length = Math.min(s.length(), strs[i].length());
for (int j = 0; j < length; j++) {
if (s.charAt(j) == strs[i].charAt(j)) {
l++;
} else {
break;
}
}
if (l < len) len = l;
}
return s.substring(0, len);
}
}