[LeetCode OJ]- Longest Palindromic Substring

题目:https://leetcode.com/problems/longest-palindromic-substring/description/

给一个字符串,求最长回文串。如:String str2 = "ssadastt" 他的最长回文串为“sadas”

思路:使用两个指针i和j,指向搜索时的回文串的两端。

            搜索从尾部开始

public static String longestPalindrome(String s) {

int len = s.length();

boolean dp[][] = new boolean[len][len];

String res = null;

for(int i = len - 1; i >= 0; i--){

for(int j = i; j < len; j++){

dp[i][j] = (s.charAt(i) == s.charAt(j) )&&(j - i < 3 ||dp[i+1][j-1]);

if(dp[i][j] && (res == null ||j - i + 1 > res.length()))

res = s.substring(i, j+1);

}

}

return res;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,776评论 0 33
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,166评论 0 41
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 1,421评论 0 6
  • 今天我们就理性地谈谈女人拜金这个话题,“拜金女”在我们的概念里是指一部分女性在择偶过程中以男性的经济条件作为择偶的...
    紫踱阅读 1,276评论 1 1