Leetcode 14 最長公共前綴

編寫一個函數來查找字符串數組中的最長公共前綴。
如果不存在公共前綴,返回空字符串 " "。

示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: " "
解釋: 輸入不存在公共前綴。
說明:
所有輸入只包含小寫字母 a-z 。

思路:因為是最長公共前綴,所以找到最短的那個字符串作為最長公共前綴的待定值,然后用別的字符串的同等長度前綴去對比它,如果,等于,換下一個比對,如果不等,那么切掉這個待定值尾部的一個字符,直到這個待定值為空字符串或者遍歷字符串數組完成。

class Solution {
    public String longestCommonPrefix(String[] str) {
        int minSize = Integer.MAX_VALUE;
        int minIndex = 0;
        String ans = "";
        for(int i = 0;i<str.length;i++){
            if(str[i].length()<minSize){
                minSize = str[i].length();
                minIndex = i;
                ans = str[i];
            } 
        }
        for(int i = 0; i< str.length;i++){
            int temp = i;
            for(;;){
                if(str[temp].substring(0,ans.length()).equals(ans)){
                    break;
                }
                if(ans.length()>0){
                    ans = ans.substring(0,ans.length()-1);
                }else{
                    return ans;
                }
            }
        }
        return ans;
    }
}
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 題目 編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴,返回空字符串 ""。 示例 1: 輸入:...
    禾木清清閱讀 164評論 0 0
  • 14. 最長公共前綴編寫一個函數來查找字符串數組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""。例1:輸...
    杏仁小核桃閱讀 240評論 0 1
  • 題目描述:編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴,返回空字符串 ""。 示例 1: 輸...
    大數據Zone閱讀 371評論 0 1
  • 編寫一個函數來查找字符串數組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""。示例 1:輸入: ["flo...
    餅干不干閱讀 670評論 0 51
  • 我喜歡你 如果你可以帶我離開,去你想去的地方,我想我會很開心。
    我的名字1026閱讀 103評論 0 0

友情鏈接更多精彩內容