14、最長公共前綴
編寫一個函數來查找字符串數組中的最長公共前綴。
如果不存在公共前綴,返回空字符串?""
。
示例 1:
輸入:strs = ["flower","flow","flight"]
輸出:"fl"
示例 2:
輸入:strs = ["dog","racecar","car"]
輸出:""
解釋:輸入不存在公共前綴。
class Solution {public String longestCommonPrefix(String[] strs) {if(strs==null||strs.length==0){return "";}//length:數組,length()字符串長度StringBuilder sb=new StringBuilder();for(int i=0;i<strs[0].length();i++){
char c=strs[0].charAt(i);
for(int j=1;j<strs.length;j++){if(i>=strs[j].length()||strs[j].charAt(i)!=c){return sb.toString();}
}sb.append(c);//對比成功就添加進去}return sb.toString();}
}
先判斷數組是否為初始化或者看他長度是否為零,如果這兩個條件當中滿足一個的話,就直接返回空字符串。然后再定義一個stringBuilder(
常用方法
append()
: 添加內容到字符串末尾insert()
: 在指定位置插入內容delete()
: 刪除指定范圍內的字符reverse()
: 反轉字符串toString()
: 將?StringBuilder
?轉換為?String
)
將數組中的前一個和后一個字符串摳出來,然后再將第一個作為確定的對比對象(就是后面的字符串都要和第一個比較一次),然后再把兩個字符串中的每個字符摳出來對比,相同就append,不同就直接轉為字符串輸出。