14. 最长公共前缀

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

代码:

class Solution {
    public String longestCommonPrefix(String[] strs) {
        int minLength = Integer.MAX_VALUE;
        for (String str : strs) {
            minLength = str.length() < minLength ? str.length() : minLength;
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < minLength; i++) {
            Character c = null;
            for (String str : strs) {
                if (c == null) {
                    c = str.charAt(i);
                } else if (c != str.charAt(i)) {
                    c = null;
                    break;
                }
            }
            if (c == null) {
                break;
            }else{
                sb.append(c);
            }
        }
        return sb.toString();
    }
}

思路:

1、遍历所有字符串,一个字符一个字符进行比较,为了避免有数组越界的情况出现。所以先求出strs中所有字符串的最短的长度minLength

2、定义索引i,从0到minLength进行逐个遍历,碰到有一个字符串在索引i的位置跟其他人不一样。就退出。

支付宝搜索:344355 领取随机红包

如果文章对您有帮助,欢迎给作者打赏