码迷,mamicode.com
首页 > 编程语言 > 详细

leetcode.字符串.14最常公共前缀-Java

时间:2019-11-13 16:24:21      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:注意   bsp   div   ==   strong   span   bst   检索   str   

1. 具体题目

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

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

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

2. 思路分析

横向搜索:以字符串为单位,检索每个字符串的前缀

纵向搜索:以字符为单位,对于每个位置比较所有字符串,直到遇到不匹配的为止

3. 代码

由于横向与纵向搜索时间复杂度都为O(S),S为数组中字符数量,即最坏情况下都要搜索数组中所有字符,所以只写了横向搜索

 1 public String longestCommonPrefix(String[] strs) {
 2         //熟悉String类的indexOf(String str)方法和substring(int start,int end)方法
 3         //注意substring(int start,int end)返回的子串开始于start,结束于end - 1
 4         if(strs.length == 0) return "";
 5         String res = strs[0];
 6         for(int i = 1; i < strs.length; i++){
 7             while(strs[i].indexOf(res) != 0){
 8                 res = res.substring(0, res.length() - 1);
 9                 if(res.equals("")) return "";
10             }
11         }
12         return res;
13     }

 

leetcode.字符串.14最常公共前缀-Java

标签:注意   bsp   div   ==   strong   span   bst   检索   str   

原文地址:https://www.cnblogs.com/XRH2019/p/11849948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!