zoukankan      html  css  js  c++  java
  • [LeetCode]-algorithms-Longest Palindromic Substring

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000,

    and there exists one unique longest palindromic substring.

    要求:给定一个字符串,求最长的回文字符串

    "a"
    =>a
    "runcodes"
    =>r
    "runcodestatus"
    =>tat
    "runcodestats"
    =>stats

    public String longestPalindrome(String s) {
            s = s.trim();
            if(null==s || "".equals(s))
                return null;
            String res = s.substring(0,1);
            String temp;
            for(int i=0; i<s.length()-1; i++){
                temp = search(s, i, i);
                if(temp.length()>res.length())
                    res = temp;
                temp = search(s, i, i+1);
                if(temp.length()>res.length())
                    res = temp;
            }
            return res;
        }
        //这个方法向 i 的两端发散
        public String search(String s,int begin,int end){
            while(begin>=0 && end<s.length() && (s.charAt(begin)==s.charAt(end))){
                begin--;
                end++;
            }
            return s.substring((begin+1),end);
        }

    分析:以每个字符为中心,遍历前后的字符串

  • 相关阅读:
    配置缓存过期时间
    浏览器读取缓存流程
    nginx做代理的优化
    系统优化
    每日总结2.2
    每日总结2.1
    《构建之法》阅读笔记三
    每日总结1.29
    每日总结1.28
    每日总结1.27
  • 原文地址:https://www.cnblogs.com/lianliang/p/5328364.html
Copyright © 2011-2022 走看看