程序笔记   发布时间:2022-07-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了剑指Offer 14. 最长公共前缀大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 题目

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

2. 示例

@H_674_5@示例1:

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

@H_674_5@示例2:

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

3. 题解

@H_674_5@采用的思想很简单,纵向扫码,匹配每个字符串的第i个字符是否相等。相等继续;不等直接返回之前的。

@H_674_5@时间复杂度:O(mn),m为字符串个数,n为最短字符串长度。

4. 实现

@H_674_5@ 1 public class LongestCommonPrefix14 {
 2     // 判断第i个字符是否相等
 3     public String longestCommonPrefix(String[] strs) {
 4         if(strs.length <= 1) return strs[0];
 5         int i = 0;
 6         while (i <= 200) {
 7             for(int j = 1; j < strs.length; j++) {
 8                 if(i < strs[0].length()) {
 9                     char str0 = strs[0].charAt(i);
10                     if (i >= strs[j].length() || strs[j].charAt(i) != str0) {
11                         return strs[0].subString(0, i);
12                     }
13                 } else {
14                     return strs[0].subString(0, i);
15                 }
16             }
17             i++;
18         }
19         return "";
20     }
21 
22     public static void main(String[] args) {
23         // String[] strs = {"flower","flow","flight"};
24         // String[] strs = {"dog","racecar","car"};
25         //String[] strs = {"a", "a"};
26         String[] strs = {"a"};
27         System.out.println(new LongestCommonPrefix14().longestCommonPrefix(strs));
28     }
29 }

5. 结语

@H_674_5@  努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获! 给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!

@H_674_5@  如果客官喜欢小生的园子,记得关注小生哟,小生会持续更新(#^.^#)(#^.^#)。

大佬总结

以上是大佬教程为你收集整理的剑指Offer 14. 最长公共前缀全部内容,希望文章能够帮你解决剑指Offer 14. 最长公共前缀所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。