[简单]14. 最长公共前缀

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

请原谅我就是个只会暴力计算的低端程序狗:

class Solution {

    public  static List<String> getPrefixtring(String str) {
        List<String> ab = new ArrayList<>();
        if(str.length() == 1) {
            ab.add(str);
            return ab;
        }

        for (int i = 0; i < str.length() ;i++) {
            String sub = str.substring(0, i + 1);
            ab.add(sub);
        }
        return ab;
    }

    public String longestCommonPrefix(String[] strs) {
        List<String> subList = new ArrayList<>();
        for (int i = 0; i < strs.length;i++) {
            String str = strs[i];

            List<String> a = getPrefixtring(str);//getSubString(str, count);
            //System.out.println("prefix = " + a);

            for (String e: a) {
                boolean flag = true;
                for (int j = 0; j < strs.length; j++) {
                    if (strs[j].indexOf(e) != 0) {
                        flag = false;
                        break;
                    }
                }
                if (flag) {
                    if (!subList.contains(e)) {
                        subList.add(e);
                    }
                }
            }
        }

        String maxString = "";
        if(subList.size() > 0) {
            for (String s : subList) {
                if (s.length() > maxString.length()) {
                    maxString = s;
                }
            }
        }
        return maxString;
    }

 

}

  

posted @ 2022-04-03 15:13  v大喵  阅读(30)  评论(0)    收藏  举报