代码重构: leetcode 14、最长公共前缀

242 阅读1分钟

14、最长公共前缀

很简单和自然的模拟。

在模拟时候,采用横向模拟,因为横向无法确定什么时候跳出,所以用while来做主循环。

    public String longestCommonPrefix(String[] strs) {
        int index = 0;
        StringBuilder builder = new StringBuilder();
        boolean flag = true;
        while (flag && index<strs[0].length()) {
            char c = strs[0].charAt(index);
            for (int i = 1; i < strs.length; i++) {
                if (index >= strs[i].length()) {
                    flag = false;
                    break;
                }
                if (strs[i].charAt(index) != c) {
                    flag = false;
                    break;
                }
            }
            if (flag) builder.append(c);
            index++;
        }
        return builder.toString();
    }