Java算法-LeetCode14最長公共前綴

題目地址:https://leetcode-cn.com/problems/longest-common-prefix/

編寫一個函數來查找字符串數組中的最長公共前綴。

如果不存在公共前綴,返回空字符串 ""。

示例 1:

輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:

輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。
說明:

所有輸入只包含小寫字母 a-z 。

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/longest-common-prefix
著作權歸領釦網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。

解題思路:從後刪減匹配

執行用時 :1 ms, 在所有 Java 提交中擊敗了78.52%的用戶

內存消耗 :37.5 MB, 在所有 Java 提交中擊敗了52.50%的用戶

package com.lecode;

import java.util.HashMap;

/**
 * @Auther: DarkKing
 * @Date: 2020/06/04 18:53
 * @Description:
 */
public class LeetCode14{

   static class Solution {
        public String longestCommonPrefix(String[] strs) {
            if(strs==null||strs.length==0){
                return "";
            }
            String str = strs[0];
            for (String s : strs) {
                while (!s.startsWith(str)){
                    if(str.length()==1){
                        return "";
                    }
                }
                str = str.substring(0,str.length()-1);
            }
            return str;
        }

    }


}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章