最長回文子串
題目
給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。
示例 1:
輸入: 「babad」
輸出: 「bab」
注意: 「aba」 也是乙個有效答案。
示例 2:
輸入: 「cbbd」
輸出: 「bb」
狀態轉移陣列
dp[i][j]=0表示從j到i的字串不為回文字串
dp[i][j]=1表示從j到i的字串為回文字串
狀態轉移方程
1.當j==i
dp[i][j]一定為1
2.當j 1
dp[i][j] = dp[i - 1][j + 1]
其餘情況
dp[i][j] = 0
**
#define is_hui_wen 1
#define is_not_hui_wen 0
char
*longestpalindrome
(char
* s)
;char
* str;
int i, j;
int begin, end;
int len =
strlen
(s);
memset
(lp,0,
(1005
*1005
*sizeof
(char))
);if(len <2)
begin = end =0;
for(i =
0; i < len; i++)if
(((i - j)!=1
)&&(lp[i -1]
[j +1]
!= is_hui_wen)
) lp[i]
[j]= is_hui_wen;if(
(i - j)
>
(end - begin))}
} str =
(char*)
malloc
((end - begin +2)
*sizeof
(char))
;strncpy
(str, s + begin, end - begin +1)
; str[end - begin +1]
='\0'
;return
(char*)
&str[0]
;}
LeetCode解題方法5 動態規劃求距離問題
簡單距離問題 72 編輯距離 困難 採用動態規劃思想,求出轉移方程dp i j bool ismatch char s,char p dp 0 0 true for i 0 i len2 i for i 0 i len1 i if p j j 0 else return dp len1 len2 題...
LeetCode解題方法之 空指標
203.remove linked list elements 1.這樣可以處理空鍊錶特殊情況,頭指標為要刪除的值的特殊情況 使用空指標p在這裡的好處在於,1.p儲存了頭結點,2.而最開始pre和p指向了同乙個節點物件,這樣如果首節點是空節點或等於val時,可以直接進行操作,因此首節點也可以當做普通...
LeetCode解題方法9 狀態機
有效數字 利用狀態機來解題 驗證給定的字串是否可以解釋為十進位制數字。例如 0 true 0.1 true abc false 1 a false 2e10 true 90e3 true 1e false e3 false 6e 1 true 99e2.5 false 53.5e93 true 6 ...