LeetCode 14 最长公共前缀

Posted Starzkg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 14 最长公共前缀相关的知识,希望对你有一定的参考价值。

https://leetcode-cn.com/problems/longest-common-prefix/

解决方案

class Solution 
    public String longestCommonPrefix(String[] strs) 
        if (strs == null && strs.length == 0) 
            return "";
        
        int minLength = Integer.MAX_VALUE;
        for (int i = 0; i < strs.length; i++) 
            minLength = Math.min(minLength, strs[i].length());
        
        int l = 0, r = minLength;
        String ans = "";
        while (l < r) 
            int mid = l + ((r - l + 1) >> 1);
            String substring = strs[0].substring(0, mid);
            if (isCommonPrefix(strs, substring)) 
                l = mid;
                ans = substring;
             else 
                r = mid - 1;
            
        
        return ans;
    

    public boolean isCommonPrefix(String[] strs, String prefix) 
        for (String str : strs) 
            if (!str.startsWith(prefix)) 
                return false;
            
        
        return true;
    

以上是关于LeetCode 14 最长公共前缀的主要内容,如果未能解决你的问题,请参考以下文章

leetcode14最长公共前缀

[leetcode 14] 最长公共前缀

leetCode第14题——最长公共前缀

LeetCode 14. 最长公共前缀

LeetCode:最长公共前缀14

Leetcode 14 最长公共前缀