剑指offer 最长公共前缀Java

2022/2/4 1:42:32

本文主要是介绍剑指offer 最长公共前缀Java,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

力扣题目链接
第一种1ms

class Solution {
    public String longestCommonPrefix(String[] strs) {
        
        //求出字符数组长度,方便后边遍历
        int n = strs.length;
        if(n==0) return "";
        //初始化返回值
        String ans = strs[0];
        //开始遍历,从数组的第二个开始
        for(int i=1;i<n;i++){
            //初始化内循环控制变量,便于后边返回公共前缀
            int j = 0;
            for(;j<ans.length() && j<strs[i].length();j++){
                if(ans.charAt(j) != strs[i].charAt(j)) break;
            }
            ans = ans.substring(0,j);
            if(ans.equals("")) return ans;
        }
        return ans;
    }
}

第二种2s

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length==0)return "";
        //公共前缀比所有字符串都短,随便选一个先
        String s=strs[0];
        for (String string : strs) {
            while(!string.startsWith(s)){
                if(s.length()==0)return "";
                //公共前缀不匹配就让它变短!
                s=s.substring(0,s.length()-1);
            }
        }
        return s;
    }
}


这篇关于剑指offer 最长公共前缀Java的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程