記錄一下,從今天開始,刷LeetCode的題,期待早日刷完!java
查找字符串數組中的最長公共前綴。若是不存在公共前綴,返回空字符串 ""
。git
示例 1:github
輸入: ["flower","flow","flight"] 輸出: "fl"
示例 2:數組
輸入: ["dog","racecar","car"] 輸出: "" 解釋: 輸入不存在公共前綴。
說明:code
全部輸入只包含小寫字母 a-z
。ip
/** * @Author : Yanqiang * @Date : 2019/5/17 * @Param : [strs] * @return : java.lang.String * @Description : * 講解: 先把[第一個]從後往前截取,邊截取邊與[第二個]比較,直到有相同的前綴,存放到prefix, * 再拿prefix與後面的幾個字符串邊截取邊,存放到prefix, * 最後剩下的,確定是全部字符串共同的前綴,沒有共同前綴的話就回到空字符串了 */ public static String getCommonPrefix(String[] str) { int count = str.length; String prefix = ""; if(count != 0){ prefix = str[0]; } for(int i=0; i<count; i++){ //關鍵代碼,不斷的從後往前截取字符串,而後與之相比,直到startsWith()返回true while(!str[i].startsWith(prefix)){ int length = prefix.length(); prefix = prefix.substring(0, length-1 ); } } return prefix; }
LeetCode 所有題目講解與答案,可移步 GitHub:https://github.com/yan-qiang/LeetCode字符串