字串壓縮
阿新 • • 發佈:2021-06-16
此部落格連結:
最長公共字首
題目連結:
題目
編寫一個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串""。
示例 1:
輸入:strs = ["flower","flow","flight"]
輸出:"fl"
示例 2:
輸入:strs = ["dog","racecar","car"]
輸出:""
解釋:輸入不存在公共字首。
題解
找最長公共子序列,可以先取陣列中的第一個單詞(假設為最大公共子序列),然後把第一個和後面每個單詞的每個字母逐步比較,如果有不相等的,就更新最大公共子序列的值。
程式碼
class Solution { public String longestCommonPrefix(String[] strs) {if(strs.length==0) { return ""; } String res=strs[0]; for(int i=1;i<strs.length;i++){ int j=0; for(;j<res.length()&&j<strs[i].length();j++){ if(res.charAt(j)!=strs[i].charAt(j)){ break; } } res=res.substring(0,j); if(res.equals(" ")){ return ""; } } return res; } }
結果
注意點
1.字串取長度使用length時,後面需要新增小括號,而陣列不需要小括號。
2.java中對比兩個字串是否相等時,需要使用equals,這比較的是值是否相等,而在比較字元時,使用等號。