leetcode题目14. 最长公共前缀(java)

题目描述

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 "".

示例

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

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

代码

public String longestCommonPrefix(String[] strs) {
    if (strs.length <= 0) {
        return "";
    }

    String ans = strs[0];
    // 遍历后面的字符串,依次将其与 ans 进行比较,两两找出公共前缀,最终结果即为最长公共前缀
    for (int i = 1; i < strs.length; i++) {
        int j = 0;
        for (; j < ans.length() && j < strs[i].length(); j++) {
            if (ans.charAt(j) != strs[i].charAt(j)) {
                break;
            }
        }
        ans = ans.substring(0, j);
        if ("".equals(ans)) {
            return "";
        }
    }
    return ans;
}

你可能感兴趣的:(leetcode题目14. 最长公共前缀(java))