记录一下,从今天开始,刷LeetCode的题,期待早日刷完!
查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入:["flower","flow","flight"]
输出: "fl"
示例 2:
输入:["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
/**
* @Author : Yanqiang
* @Date : 2019/5/17
* @Param : [strs]
* @return : java.lang.String
* @Description :
* 讲解: 先把[第一个]从后往前截取,边截取边与[第二个]比较,直到有相同的前缀,存放到prefix,
* 再拿prefix与后面的几个字符串边截取边,存放到prefix,
* 最后剩下的,肯定是所有字符串共同的前缀,没有共同前缀的话就回到空字符串了
*/
public static String getCommonPrefix(String[] str) {
int count = str.length;
String prefix = "";
if(count != 0){
prefix = str[0];
}
for(int i=0; i
//关键代码,不断的从后往前截取字符串,然后与之相比,直到startsWith()返回true
while(!str[i].startsWith(prefix)){
int length = prefix.length();
prefix = prefix.substring(0, length-1 );
}
}
return prefix;
}