https://leetcode-cn.com/problems/longest-common-prefix/description/
題目描述
編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴拱烁。
如果不存在公共前綴,返回空字符串 ""。
示例
輸入: ["flower","flow","flight"]
輸出: "fl"
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。
思路
1.考慮輸入為空的情況淮野;
2.以輸入字符串?dāng)?shù)組的第一個字符串為標(biāo)桿蠢沿,其每一位與后面字符串的每一位比較;
3.如何跳出兩層for循環(huán)刚陡;
- 直接return
- 定義一個boolean類型的變量來控制
4.String、StringBuffer株汉、StringBuilder的區(qū)別
String 字符串常量
StringBuffer 字符串變量(線程安全)
StringBuilder 字符串變量(非線程安全)
代碼
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length==0){
return "";
}
StringBuffer s = new StringBuffer();
String s1 = strs[0];
for (int i = 0; i < s1.length(); i++) {
boolean flag= false;
for (int j = 0; j < strs.length; j++) {
if (i >= strs[j].length() || s1.charAt(i) != strs[j].charAt(i)) {
// return s.toString();
flag=true;
break;
}
}
if(flag){
break;
}
s.append(s1.charAt(i));
}
return s.toString();
}
}