14-最长公共前缀

最长公共前缀是一个经典的问题,编写一个函数来查找字符串数组中的最长公共前缀。

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

比如:

输入: ["flower","flow","flight"]
输出: "fl"
输入: ["dog","racecar","car"]
输出: ""
这里我采用的是暴力破解的方法,首先写一个函数Changeprefix,用于返回两个字符串的前缀,
然后在主函数内对这个字符串数组遍历,每次调用Changeprefix函数,返回前缀,如果返回的
为空,立即终止执行,返回“”;当然,如果题中给的数组为空,也要立即返回“”;
代码:
 1 class Solution {
 2     public String longestCommonPrefix(String[] strs) {
 3         if(strs.length==0)
 4         return "";
 5         String prefix=strs[0];
 6         for(int i=1;i<strs.length;i++)
 7         {
 8             prefix=Changeprefix(prefix,strs[i]);
 9         }
10         if (prefix.length()==0)
11         return "";
12         return prefix;
13 
14     }
15     public String Changeprefix(String str1,String str2)
16     {
17         int length =Math.min(str1.length(),str2.length());
18         int index=0;
19         while(index<length&&str1.charAt(index) == str2.charAt(index))
20         {
21             index++;
22         }
23         return str1.substring(0,index);
24     }
25 }

 


 
posted @ 2020-08-05 10:33  卑微的孤独患者  阅读(117)  评论(0编辑  收藏  举报