題目:
給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。
在構造過程中,請注意區分大小寫。比如 "aa" 不能當做乙個回文字串。
注意:假設字串的長度不會超過 1010。
示例 1:
輸入:"abccccdd"
輸出:7
解釋:我們可以構造的最長的回文串是"dccaccd", 它的長度是 7。
思路
}//由於在上面的奇數處理中所有的奇數都減一了,如果number小於s的length則說明存在奇數的字元,
//在回文字串中我們可以將乙個出現奇數次的字元放置在回文字串的中間,所以number小於length則需要加一
//不小於說明等於,則沒有奇數次的字元。則所有字元都參與回文字串拼接中。
return number < s.
length()
? number +
1: number;
}**優化(參考網友的)
public
intlongestpalindrome
(string s)
int ans =0;
for(
int x: cnt)
return ans < s.
length()
? ans +
1: ans;
}
LeetCode 最長回文串
給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7。解題思路 ...
leetcode 最長回文子串
給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 中心拓展法 由乙個中心點開始向兩邊拓展,檢測邊界,判斷兩個值是否相等,相等則繼續拓展下去,檢測邊界。1....
最長回文子串(LeetCode)
給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb class solution def longestpalindrome self,s type s str r...