LeetCode 5 最長回文子串

2021-10-23 06:53:55 字數 1457 閱讀 8941

找到乙個字串最長的回文子串

我的思路1:乙個字串,我要是知道從0到i的子串的最大回文子串(一定包含第i位)的長度。我就知道了這個字串的最大回文子串的長度。

那麼怎麼知道乙個字串,包含最後一位字元的最大回文子串呢?我判斷從0開始的子串是不是回文的,不是的話從1開始的子串是不是回文的,知道乙個子串是回文的。

我還需要乙個能夠判斷乙個字串是不是回文字串的方法。

}// 找到包括最後乙個字元的最長回文子串

public string findlongest

(string str)

}return null;

}// 判斷乙個字串是不是回文串

public

boolean

judge

(string str)

i++; j--;}

return

true;}

}我的思路2:我有乙個判斷乙個字串是不是回文字串的方法。然後遍歷子串的長度。遍歷子串開始的座標。判斷這個字串是不是回文子串。如果是的話,我就返回結果。

}// 判斷乙個字串是不是回文串

public

boolean

judge

(string str)

i++; j--;}

return

true;}

}dp(i, j) = (i和j位置的字元是否相等) && (j-i<3 || dp(i+1, j-1))

解釋:dp(i,j)→起始序號為i,終止序號為j的子串,是否是回文序列。

由小規模,擴充套件到大規模。

// 返回結果

return s.

substring

(begin, end +1);}}

LeetCode5最長回文子串

給定乙個字串s,找到s中最長的回文子串。你可以假設s長度最長為1000。示例 輸入 babad 輸出 bab 注意 aba 也是有效答案示例 輸入 cbbd 輸出 bb 動態規劃來做,每個回文字串的子字串也是回文字串,即string是回文字串那麼它的string.substring 1,lenth ...

LeetCode 5 最長回文子串

問題描述 給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 解決方案 中心擴充套件演算法 事實上,只需使用恆定的空間,我們就可以在 o n 2 的時間內解決這個問題...

leetcode5 最長回文子串

遞推式 1 一般 s i 1 s j 1 and j i and j i len s i 1,j 1 2 初始化dp矩陣對角線的值為 true,相鄰兩個元素相等時dp i i 1 為true 初始化回文串起始位置和長度。def longestpalindrome s n len s if s ret...