【Leetcode】14. 最长公共前缀(Java版)

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

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

示例 1:

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

示例 2:

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

提示:

  • 1 <= strs.length <= 200

  • 0 <= strs[i].length <= 200

  • strs[i] 仅由小写英文字母组成

Hint:带测试版

/**
 * @description:
 * @author: r1ng
 * @time: 2023/7/31 22:07
 */
public   class LongestCommonPrefix {
    public static String  longesCommonPrefix(String[] strs) {
        //如果输入的strs为空,则返回空字符串""
        if(strs.length==0){
            return "";
        }
        //定义一个ans为strs.[0],获取到strs的第一个字符串为了一下面的循环比较
        String  ans = strs[0];
        for(int i=0; i

Hint:不带测试版本 

class Solution {
    public String longestCommonPrefix(String[] strs) {
        //如果输入的strs为空,则返回空字符串""
        if(strs.length==0){
            return "";
        }
        //定义一个ans为strs.[0],获取到strs的第一个字符串为了一下面的循环比较
        String  ans = strs[0];
        for(int i=0; i

当字符串数组长度为 0 时则公共前缀为空,直接返回;
令最长公共前缀 ans 的值为第一个字符串,进行初始化;
遍历后面的字符串,依次将其与 ans 进行比较,两两找出公共前缀,最终结果即为最长公共前缀;
如果查找过程中出现了 ans 为空的情况,则公共前缀不存在直接返回;
时间复杂度:O(s)O(s)O(s),s 为所有字符串的长度之和。

你可能感兴趣的:(数据结构,leetcode,java,算法)