每日一题6

题目:14. 最长公共前缀

思路:分离出字符串数组中的每个字符串,每个字符串的第一个字符两两比较,如果全部相同,则拼接到结果字符串中,然后比较第二个位置上的字符。依次进行即可

class Solution {
    public String longestCommonPrefix(String[] strs) {
        int n=strs.length;
        String result="";
        int j=0,i=0,min=201,t=0,m=0;
        for(t=0;t<n;t++){
            if(strs[t].length()<min){
                min=strs[t].length();    //获得最小字符串的长度
            }
        }   
        while(m<min){
            for(i=0;i<n-1;i++){
                 if(strs[i].charAt(j)==(strs[i+1].charAt(j))) continue;
                 else break;   
             }
            if(i==n-1){     //如果全部字符相等,表示是公共前缀
                result=result+strs[0].charAt(j);   //拼接到结果字符串中
                j++;
            }
            m++;
        }
        
        return result;

    }
}

官方解答:

image-20230228093334139

image-20230228093312046

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if (strs == null || strs.length == 0) {
            return "";
        }
        String prefix = strs[0];
        int count = strs.length;
        for (int i = 1; i < count; i++) {
            prefix = longestCommonPrefix(prefix, strs[i]);
            if (prefix.length() == 0) {
                break;
            }
        }
        return prefix;
    }

    public String longestCommonPrefix(String str1, String str2) {
        int length = Math.min(str1.length(), str2.length());
        int index = 0;
        while (index < length && str1.charAt(index) == str2.charAt(index)) {
            index++;
        }
        return str1.substring(0, index);
    }
}

作者:LeetCode-Solution
链接:https://leetcode.cn/problems/longest-common-prefix/solution/zui-chang-gong-gong-qian-zhui-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2023-02-28 09:34  ZLey  阅读(9)  评论(0编辑  收藏  举报