EchoDemo's Blogs

LeetCode 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 “”。

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"
示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z 。

题解:一个字符一个字符比较

class Solution {
    public String longestCommonPrefix(String[] strs) {
        int strsLen = strs.length;
        if (strsLen == 0) {
            return "";
        }
        int str1Len = strs[0].length();
        int i = 0;
        String str1 = strs[0];
        for (i = 0; i < str1Len; i++) {
            char c = str1.charAt(i);
            int k = 1;
            for (int j = 1; j < strsLen; j++) {
                if (strs[j].length() <= i)
                    break;
                if (c == strs[j].charAt(i))
                    k++;
            }
            if (k == strsLen) {
                continue;
            } else {
                break;
            }
        }
        if (i == 0) {
            return "";
        } else {
            return str1.substring(0, i);
        }
    }
}
🐶 您的支持将鼓励我继续创作 🐶
-------------本文结束感谢您的阅读-------------