当前位置: 首页 > news >正文

算法面试题:最长回文子串

leetcode算法题目:
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000

public static void main(String[] args) {
        longestPalindrome("babad");
    }

    public static String longestPalindrome(String s) {
        if (s.isEmpty()){
            return "";
        }
        if (s.length() == 1) {
            return s;
        }

        if(s.length() == 2){
            String s1 = s.substring(0, 1);
            String s2 = s.substring(1, 2);
            if(s1.equals(s2)) {
                return s;
            }else{
                return s1;
            }
        }

        String ret = "";
        StringBuffer stringBuffer = new StringBuffer ();
        for (int i = 0; i < s.length()-1; i++) {
            Character chi = s.charAt(i);
            if(ret.isEmpty()) {
                ret = chi.toString();
            }
            for(int j = s.length()-1; j > i;j--){
                Character chj = s.charAt(j);

                if(chi.equals(chj)){
                    //倒排
                    String tempS = s.substring(i, j+1);
                    stringBuffer.delete(0, stringBuffer.length());
                    stringBuffer.append(tempS);
                    String tempS2 = stringBuffer.reverse().toString();
                    if(tempS.equals(tempS2) && ret.length() < tempS.length()){
                        //是回响
                        ret = tempS;
                        break;
                    }
                }
            }
        }

        return ret;
    }

相关文章:

  • SpringMVC AJAX向后台传递数组参数/实体集合
  • 算法面试题:无重复字符的最长子串
  • 盒子模型高级应用
  • WRONGTYPE Operation against a key holding the wrong kind of value
  • TunnelBroker for EdgeRouter 后记
  • redis.properties 最详细参数解析
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • redis和memcahed的共同点,区别以及应用场景
  • mysql 去除密码登录
  • express中的路径区别
  • 团队作业2——需求分析原型设计
  • redis五种数据类型的实现方式,常用命令,应用场景
  • MVC前后台传值
  • idea 右键没有run和debug选项
  • 浏览器渲染优化4(styles and layout)
  • @angular/forms 源码解析之双向绑定
  • GitUp, 你不可错过的秀外慧中的git工具
  • Git同步原始仓库到Fork仓库中
  • Laravel Telescope:优雅的应用调试工具
  • mysql 5.6 原生Online DDL解析
  • Python 反序列化安全问题(二)
  • React-redux的原理以及使用
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • webgl (原生)基础入门指南【一】
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 全栈开发——Linux
  • 通信类
  • 一、python与pycharm的安装
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​iOS实时查看App运行日志
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • # 安徽锐锋科技IDMS系统简介
  • (1)(1.13) SiK无线电高级配置(五)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (Java数据结构)ArrayList
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (三)elasticsearch 源码之启动流程分析
  • (一)基于IDEA的JAVA基础10
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET框架
  • .Net下的签名与混淆
  • .net专家(张羿专栏)
  • /etc/fstab和/etc/mtab的区别
  • @Transactional类内部访问失效原因详解
  • []FET-430SIM508 研究日志 11.3.31
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [3300万人的聊天室] 作为产品的上游公司该如何?
  • [Deep Learning] 神经网络基础