11.查找最长公共前缀
目录介绍
- 01.题目要求
- 02.问题分析
- 03.实例代码
- 04.测试代码
01.题目要求
- 问题如下所示:
- 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。
- 示例 :
- 示例 1:
示例 2:输入: ["flower","flow","flight"] 输出: "fl"
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
02.问题分析
- 分析思路如下所示
03.实例代码
- 如下所示
public static String replaceSpace(String[] str) { if (str==null || str.length==0) { return ""; } // 数组长度 int len = str.length; // 用于保存结果 StringBuffer res = new StringBuffer(); // 给字符串数组的元素按照升序排序(包含数字的话,数字会排在前面) Arrays.sort(str); int m = str[0].length(); int n = str[len - 1].length(); int num = Math.min(m, n); for (int i = 0; i < num; i++) { if (str[0].charAt(i) == str[len - 1].charAt(i)) { res.append(str[0].charAt(i)); } else{ break; } } return res.toString(); }
04.测试代码
- 代码如下所示
public static void main(String[] args){ String[] arr1 = {"yangchong","ya211","ya3221"}; String[] arr2 = {"doubi","yc","yc211"}; String replaceSpace = replaceSpace(arr1); String replaceSpace2 = replaceSpace(arr2); System.out.println("yc---1----" + replaceSpace); System.out.println("yc---2----" + replaceSpace2); } //打印结果 yc---1----ya yc---2----