【LeetCode-面試演算法經典-Java實現】【014-Longest Common Prefix(最長公用首碼)】,leetcode--java
【014-Longest Common Prefix(最長公用首碼)】【LeetCode-面試演算法經典-Java實現】【所有題目目錄索引】原題
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 == null) { return null; } if (strs.length == 0) { return ""; } int min = Integer.MAX_VALUE; // 記錄最短的字串的長度 // 找短字串的長度 for (String str : strs) { if (str == null) { return null; } if (min > str.length()) { min = str.length(); } } int i; // 記錄最長首碼的字元數 boolean flag; for (i = 0; i < min; i++) { flag = true; for (int j = 1; j < strs.length; j++) { if (strs[0].charAt(i) != strs[j].charAt(i)) { flag = false; break; } } if (!flag) { break; } }// if (i == 0) {// return null;// } return strs[0].substring(0, i); }}
評測結果
點擊圖片,滑鼠不釋放,拖動一段位置,釋放後在新的視窗中查看完整圖片。
特別說明
歡迎轉載,轉載請註明出處【http://blog.csdn.net/derrantcm/article/details/46963385】
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。