LeetCode 409. Longest Palindrome (最长回文)
2017-11-08 06:00
106 查看
Given a string which consists of lowercase or uppercase letters, find the length of the longest palindromes that can be built with those letters.
This is case sensitive, for example
"Aa"is not considered a palindrome here.
Note:
Assume the length of given string will not exceed 1,010.
Example:
Input: "abccccdd" Output: 7 Explanation: One longest palindrome that can be built is "dccaccd", whose length is 7.
题目标签:Hash Table
题目给了我们一个string s,让我们找到在这个s 里 最长可能性的回文的长度。
利用HashMap 先把 s 里的所有char 和它出现次数 做记录,然后遍历map 的keySet,把所有char 长度是偶数的加起来,在把所有char 长度是奇数的 - 1 加起来,最后要判断一下,如果有出现过奇数长度的char,那么在最后答案上再 + 1。
Java Solution:
Runtime beats 58.91%
完成日期:06/06/2017
关键词:HashMap
关键点:对于奇数长度的char,我们也需要把它的 长度 - 1 累加
class Solution { public int longestPalindrome(String s) { HashMap<Character, Integer> map = new HashMap<>(); int len = 0; boolean oddChar = false; for(char c: s.toCharArray()) map.put(c, map.getOrDefault(c, 0) + 1); for(char c: map.keySet()) { int temp_len = map.get(c); if(temp_len % 2 == 0) // even len len += temp_len; else // odd len { if(!oddChar) oddChar = true; len += temp_len - 1; } } return oddChar ? len + 1 : len; } }
参考资料:N/A
LeetCode 题目列表 - LeetCode Questions List
相关文章推荐
- leetcode-5. Longest Palindromic Substring(寻找最长回文子串)
- leetcode第5题,最长回文子串
- 【LeetCode-面试算法经典-Java实现】【005-Longest Palindromic Substring(最长回文子串)】
- leetcode最长回文字符串_动态规划
- [Leetcode] Longest palindromic substring 最长回文子串
- LeetCode 5. Longest Palindromic Substring(最长回文子串)
- 【LeetCode】5.Longest Palindromic Substring 最长回文子串问题
- leetcode 409. Longest Palindrome 可以构造的最长的回文字符串
- leetcode第五题—最长回文字符串
- LeetCode5. Longest Palindromic Substring 最长回文子串 4种方法
- leetcode练习题5--最长回文子串
- [LeetCode]—Longest Palindromic Substring 最长回文子串
- [C++]LeetCode: 99 Longest Palindromic Substring (最长回文子串)
- LeetCode 5 : Longest Palindromic Substring ---- 最长回文
- [C++]LeetCode 5: Longest Palindromic Substring(最长回文子串)
- 最长回文子串第一部分(leetcode)
- LeetCode第5题:最长回文子串
- LeetCode:5_Longest Palindromic Substring | 最长的回文子串 | Medium
- leetcode:最长回文子串
- LeetCode5. Longest Palindromic Substring(最长回文子串:Manacher算法)