[leedcode 5]Longest Palindromic Substring
2015-07-04 21:40
369 查看
public class Solution { public String longestPalindrome(String s) { //本题是动态规划思想,构造一个数组pal[i][j],表示从i到j是否为一个回文, //pal[i][j]=true;if i=j; //pal[i][j]=true 当 s[i]==s[j]并且j-i=1; //pal[i][j]=true 当 j>i+1,s[i]==s[j]并且pal[i+1][j-1]=true; int start=0; int end=0; int maxLen=0; int len=s.length(); boolean [][] pal=new boolean[len][len]; for(int i=0;i<len;i++){ for(int j=0;j<len;j++){ pal[i][j]=false; } } for(int j=0;j<len;j++){ //pal[j][j]=true; for(int i=0;i<=j;i++){ /*if(i==j-1)pal[i][j]=s.charAt(i)==s.charAt(j); if(i<j-1){ if(s.charAt(i)==s.charAt(j)&&pal[i+1][j-1]) pal[i][j]=true; }*/ pal[i][j]=(s.charAt(i)==s.charAt(j)&&((j-i<2)||pal[i+1][j-1]));//次判断特别简介,利用了&&和||短路规则 if(pal[i][j]&&maxLen<j-i+1){ maxLen=j-i+1; start=i; end=j; } } } return s.substring(start,end+1); } }
相关文章推荐
- Android 单选框的应用(新手篇)
- UIAlertView,UIActionSheet的使用
- centos(Subversion) + windows(TortoiseSVN)
- Redis RDB文件结构
- 图像检索评估准则——Evaluation Criteria of Image Retrieval : Retrieval Accuracy
- 大背包问题(01背包)
- 快速排序C++
- 高等计算机体系结构基本概念总结
- 黑马程序猿————OC在Foundation框架结构和字符串
- wireshark学习使用教程1
- Scala实现冒泡排序、归并排序和快速排序
- 2015070412 - EffactiveJava笔记 - 第62条 每个抛出的异常都要有文档
- Scala实现冒泡排序、归并排序和快速排序
- BCG 本地化
- 2015年最新友情链接和外链对关键词排名的影响
- C++带const、static和#define关键字的变量定义的区别
- Linux/Ubuntu中添加删除新用户
- OpenCV_提取图片中任意形状的区域
- linux-1.2.13之启动代码head.S
- 模拟退火算法和遗传算法的学习