如何用三行代码搞定leetcode-125.验证回文串

由于总是写业务,基础都忘得干干净净了,所以先以写业务的思维去刷leetCode。当然,时间和空间肯定惨不忍睹,后面慢慢优化。

先看看,leetCode125.验证回文串的需求prd:

需要花点时间理解的就是回文串的定义是什么。

“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。(摘自百度百科)

题目还帮我们简化了难度,去除了符号、中文等干扰项,那么就简单了。

只要我们将能够正序和倒序的字符串比较后相等,那么就搞定了。

code:

public static boolean isPalindrome(String s) {
        //31 ms 9.58%       40 MB 5.02%
        //step1.转义字符去除符号,转换小写
        String result = s.replaceAll("[^a-zA-Z0-9]","").toLowerCase();
        //step2.倒序排序的字符串
        StringBuffer stringbuffer =new StringBuffer(result).reverse();
        //step3.判断
        return result.equals(stringbuffer.toString()) ? true : false;
}

一味的追求业务方便的结果就是时间和空间的耗费,有时间的话后面再从源码分析一下,最耗时和耗内存的部分。

这用时和内存消耗就很离谱,大家引以为戒。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值