leetcode5. 最长回文子串(动态规划)
生活随笔
收集整理的這篇文章主要介紹了
leetcode5. 最长回文子串(动态规划)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個字符串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。
示例 1:
輸入: “babad”
輸出: “bab”
注意: “aba” 也是一個有效答案。
代碼
class Solution {public String longestPalindrome(String s) {int n=s.length(),max=-1,l=-1,r=-1;if(n==0) return "";boolean[][] dp=new boolean[n][n];for(int i=0;i<n;i++)//遍歷子串長度for(int j=0;j+i<n;j++)//子串的起點{if(s.charAt(j)==s.charAt(j+i)&&(i<=1||dp[j+1][j+i-1]))//滿足回文{dp[j][j+i]=true;if(i+1>max) {//獲取最長回文子串max=i+1;l=j; r=j+i;}}}return s.substring(l,r+1);} }總結
以上是生活随笔為你收集整理的leetcode5. 最长回文子串(动态规划)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到走冰路是什么意思
- 下一篇: 女人梦到地震前兆预示什么