java显示最长共同前缀_最长公共前缀

记录一下,从今天开始,刷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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值