編寫乙個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串""
。
示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共字首。
直覺解法:
基本就是遍歷對照。
public class solution
return prefix;
}
水平掃瞄:
比較對應列上的字元是否相同。
分治:這個演算法的思路來自於lcp操作的結合律。將原問題分成兩個子問題,用子問題的解來比較構成原問題的解。
二分查詢:
14 最長公共字首
編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母a z。思路 兩兩對比,產生最後的公共字串 cla...
14 最長公共字首
分析 編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 輸入 flower flow flight 輸出 fl 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。當字串陣列為空或者字串陣列中有空串時,不存在公共字首 當字串陣列只有乙個元素時,公共字首就是...
14 最長公共字首
編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 思路一 先找到陣列中最短元素,最長公共子串不會超過最短元素 對第乙個元素迭代分割,分割後的子串用於迭代比較是否相同。class solution if str...