執行結果:
通過
顯示詳情
執行用時 :1 ms, 在所有 Java 提交中擊敗了82.19% 的用戶
內存消耗 :37.5 MB, 在所有 Java 提交中擊敗了47.35%的用戶
題目:
編寫一個函數來查找字符串數組中的最長公共前綴。
如果不存在公共前綴,返回空字符串 ""。
示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。
說明:
所有輸入只包含小寫字母 a-z 。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/longest-common-prefix
著作權歸領釦網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。
思路:
其中的第一種方法,水平掃描法
LCP(S1…Sn)=LCP(LCP(LCP(S1,S2),S3),…Sn)這個是必然的,我們就兩兩比較就可以了
然後不斷記錄最長前綴
另外,這裏的indexOf方法不等於0這塊用的就很是靈性,哈哈哈哈,很厲害!
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length<=0)
{
return "";
}
String temp=strs[0];
for(int i=1;i<strs.length;i++)
{
while(strs[i].indexOf(temp)!=0)
{
temp=temp.substring(0,temp.length()-1);
if(temp.equals(""))
{
return "";
}
}
}
return temp;
}
}