zoukankan      html  css  js  c++  java
  • Leetcode 5.最长回文子串 动态规划

    /*
     * @lc app=leetcode.cn id=5 lang=cpp
     *
     * [5] 最长回文子串
     *
     * https://leetcode-cn.com/problems/longest-palindromic-substring/description/
     *
     * algorithms
     * Medium (33.99%)
     * Likes:    3590
     * Dislikes: 0
     * Total Accepted:    567.4K
     * Total Submissions: 1.7M
     * Testcase Example:  '"babad"'
     *
     * 给你一个字符串 s,找到 s 中最长的回文子串。
     * 
     * 
     * 
     * 示例 1:
     * 
     * 
     * 输入:s = "babad"
     * 输出:"bab"
     * 解释:"aba" 同样是符合题意的答案。
     * 
     * 
     * 示例 2:
     * 
     * 
     * 输入:s = "cbbd"
     * 输出:"bb"
     * 
     * 
     * 示例 3:
     * 
     * 
     * 输入:s = "a"
     * 输出:"a"
     * 
     * 
     * 示例 4:
     * 
     * 
     * 输入:s = "ac"
     * 输出:"a"
     * 
     * 
     * 
     * 
     * 提示:
     * 
     * 
     * 1 
     * s 仅由数字和英文字母(大写和/或小写)组成
     * 
     * 
     */

    思路:

    labuladong

    子函数为输入s,i,j,从i,j开始判断s[i]==s[j],然后返回子串,主函数遍历字符串,然后分别调用i,i和i,i+1这两种奇数长度和偶数长度的子串查找。

    特别注意,while(i>=0&&j<s.size()&&s[i]==s[ij])这里出while时,i与j都是不符合条件的,因此取字符串时i+1,j-1

    class Solution {
    public:
        string longestPalindrome(string s) {
            string res;
            for(int i=0;i<s.size();++i){
                string s1=palindrome(s,i,i);
                string s2=palindrome(s,i,i+1);
                if(s1.size()>res.size()) res=s1;
                if(s2.size()>res.size()) res=s2;
            }
            return res;
        }
        string palindrome(string s, int i, int j){
            while(i>=0&&j<s.size()&&s[i]==s[j]){
                i--;
                j++;
            }
            return s.substr(i+1,j-i-1);
        }
    };
    联系方式:emhhbmdfbGlhbmcxOTkxQDEyNi5jb20=
  • 相关阅读:
    Django-orm-自关联
    Android中像素相关
    Android导入项目工程时报错“ Invalid project description”
    汇编之64位操作系统安装debug.exe
    mygui初探(二)皮肤编辑器
    mygui初探(一)基础
    一种破解静态链接库(.lib)的简单方法
    工作这两年的经验与教训
    3D单机游戏《天鹰教》源码发布(二)
    HUSTOJ的Windows版评判内核(二)
  • 原文地址:https://www.cnblogs.com/zl1991/p/14718177.html
Copyright © 2011-2022 走看看