1. 程式人生 > 其它 >字串壓縮

字串壓縮

此部落格連結:

最長公共字首

題目連結:

題目

編寫一個函式來查詢字串陣列中的最長公共字首。

如果不存在公共字首,返回空字串""。

示例 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,這比較的是值是否相等,而在比較字元時,使用等號。