博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Longest Palindromic Substring
阅读量:4358 次
发布时间:2019-06-07

本文共 1223 字,大约阅读时间需要 4 分钟。

题目: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.

思路:

第一个思路是动态规划,和之前的求子回文串思路一样,不再赘述,这里的一个窍门的就是每次判断之后,就能够输出最小值,以及长度。最后substr一下,直接输出字符。但每次需要判断,找出longest长度。

第二个思路是从中心拓展,但记住,总时间是2*n-1,因为需要考虑到偶字符串的。然后每次能够输出两个字符串,对比下即可。

代码:

class Solution1 {public://在之前有一个题目使用自下而上的解法//http://articles.leetcode.com/2011/11/longest-palindromic-substring-part-i.html//这只是第一种想法,还有一种待会写。    string longestPalindrome(string s){        int n=s.length();        int longestBegin=0;        int maxLen=1;        bool table[1000][1000]={false};//  s[i....j]                for(int i=0;i
=longest.length()){ longest=p1; } string p2=expandAroundCenter( s,i,i+1);//围绕中心i使劲往两边走 if(p2.length()>=longest.length()){ longest=p2; } } return longest; } string expandAroundCenter(string &s,int c1,int c2){ int len=s.length(); while(c1>=0&&c2<=len-1&&s[c1]==s[c2]){ c1--;c2++; } return s.substr(c1+1,c2-c1-1);//第一个参数是起始位置,第二个是长度,闭区间 }};

转载于:https://www.cnblogs.com/jsrgfjz/p/8519869.html

你可能感兴趣的文章
自己制作Linux镜像,CentOS 6.5 Docker自制CentOS镜像
查看>>
linux配置scp交互传输,Linux间传输文件的几种方法scp、sftp
查看>>
linux安装nginx映射目录,centos8自定义目录安装nginx(教程详解)
查看>>
linux cpu scheduler,A Temporal Partition-Based Linux CPU Scheduler
查看>>
c语言怎么写最小公倍数的函数,C语言 · 最小公倍数
查看>>
c语言中的头文件string.h的作用,C语言常用头文件及库函数——string.h
查看>>
c语言字符-1代表什么,玩儿转C语言:符号和字符(1)
查看>>
知道商洛学院c语言章节答案,C语言程序设计(商洛学院)知到章节答案
查看>>
c语言酒精检测仪程序代码,单片机酒精浓度测试仪,代码,原理图
查看>>
单路电压表c语言编程,单片机数字电压表的设计
查看>>
精通c语言的标准,《精通Unix下C语言编程与项目实践》之七——标准I/O重定向
查看>>
蓝桥杯c语言试题 高职,2011l蓝桥杯c语言高职真题附加答案2.doc
查看>>
c 语言 设计算法 例题,C语言程序设计例题.pdf
查看>>
p4 linux 命令行,《linux就该这么学》学习笔记25期2020-P4
查看>>
android9.0官方下载,安卓9.0系统刷机包 官方正式版
查看>>
android 模块封装,Android开发之针对联系人的封装
查看>>
android 构建期间错误,Android构建错误
查看>>
Android应用开发病虫害识别,基于Android平台的枣虫害识别系统的设计与实现
查看>>
织梦上传html文件,提高DedeCMS生成静态页html文件速度的方法
查看>>
html焦点自动轮播幻灯片js,js实现幻灯片轮播图
查看>>