返回轨道
算法 · 2026-05-14 · 16 阅读

P163 字符串的最长公共前缀

算法 16 阅读

信号摘要

难度:Easy · 时长:04:45 · leetcode 14 · lintcode 78

P163 字符串的最长公共前缀

未对外公开播放权限
点击查看说明

描述

这个题目说的是,给你一个字符串数组,你要找到这些字符串的最长公共前缀。如果它们没有公共前缀,则返回空字符串。

比如说,给你的字符串数组是:

["car", "cat", "care"]

这三个字符串的最长公共前缀是 ca,可以看到所有的字符串都包含 ca 前缀,因此我们要返回 ca。

再比如说给你的字符串数组是:

["car", "bus"]

它们不包含相同的前缀,因此返回空字符串 ""。

代码

public class AlgoCasts {

  // Time: O(k*n), Space: O(1)
  public String longestCommonPrefix(String[] strs) {
    if (strs == null || strs.length == 0) return "";
    String first = strs[0];
    for (int i = 0; i < first.length(); ++i) {
      char c = first.charAt(i);
      for (int j = 1; j < strs.length; ++j)
        if (i >= strs[j].length() || strs[j].charAt(i) != c)
          return first.substring(0, i);
    }
    return first;
  }

}

📡 通讯频道