14-最長公共字首
阿新 • • 發佈:2020-08-05
最長公共字首是一個經典的問題,編寫一個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串""
。
比如:
輸入: ["flower","flow","flight"]
輸出: "fl"
輸入: ["dog","racecar","car"]
輸出: ""
這裡我採用的是暴力破解的方法,首先寫一個函式Changeprefix,用於返回兩個字串的字首,
然後在主函式內對這個字串陣列遍歷,每次呼叫Changeprefix函式,返回字首,如果返回的
為空,立即終止執行,返回“”;當然,如果題中給的陣列為空,也要立即返回“”;
程式碼:
1 classSolution { 2 public String longestCommonPrefix(String[] strs) { 3 if(strs.length==0) 4 return ""; 5 String prefix=strs[0]; 6 for(int i=1;i<strs.length;i++) 7 { 8 prefix=Changeprefix(prefix,strs[i]); 9 } 10 if (prefix.length()==0)11 return ""; 12 return prefix; 13 14 } 15 public String Changeprefix(String str1,String str2) 16 { 17 int length =Math.min(str1.length(),str2.length()); 18 int index=0; 19 while(index<length&&str1.charAt(index) == str2.charAt(index)) 20 {21 index++; 22 } 23 return str1.substring(0,index); 24 } 25 }