做口碑都有哪些网站,行业网站建设内容,徐州市中心做网站的公司招聘,有没有做二手设备网站409. 最长回文串#xff08;简单#xff09; 方法#xff1a;哈希表 贪心
思路
不难发现#xff0c;回文字符串一定是由 若干偶数个字符 至多一个奇数个字符 组成 。我们可以使用一个长度为 128 的 hash表来记录每一个字符的出现次数#xff0c;当该字符出现了两次简单 方法哈希表 贪心
思路
不难发现回文字符串一定是由 若干偶数个字符 至多一个奇数个字符 组成 。我们可以使用一个长度为 128 的 hash表来记录每一个字符的出现次数当该字符出现了两次它一定能作为最大长度的回文子串的一部分因此将 ans 2并将其赋值为 0。在完成对 s 的遍历后我们需要检查 hash表中是否还有次数为 1 的字符它可以作为回文子串的中心如果有的话最大长度 1 。
代码
class Solution {
public:int longestPalindrome(string s) {vectorchar hashTable(128);int ans 0;for(char ch : s) {hashTable[ch];// 该字符出现了两次一定可以放在回文子串的两边if(hashTable[ch] 2) {ans 2;hashTable[ch] 0;}}for(char h : hashTable) {if(h 1) {ans 1;break;}}return ans;}
};