1. 题目

给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。

回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。

回文串不一定是字典当中的单词。

示例1:
输入:"tactcoa"
输出:true(排列有"tacocat"、"atcocta",等等)

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-permutation-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 哈希map对字符进行计数
  • 奇数个的种类小于等于1才可以是回文
class Solution {public:bool canPermutePalindrome(string s) {unordered_map<char,int> m;for(auto& ch : s)m[ch]++;int odd = 0;for(auto& mi : m){if(mi.second%2 == 1)odd++;if(odd > 1)return false;}return true;}
};

程序员面试金典 - 面试题 01.04. 回文排列(哈希map)相关推荐

  1. 编写函数判断一个数是否是回文数_程序员面试金典 - 面试题 01.04. 回文排列

    题目难度: 简单 原题链接 题目描述 给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一. 回文串是指正反两个方向都一样的单词或短语.排列是指字母的重新排列. 回文串不一定是字典当中的单词. ...

  2. 程序员面试金典 - 面试题 16.14. 最佳直线(哈希map+set)

    1. 题目 给定一个二维平面及平面上的 N 个点列表Points,其中第i个点的坐标为Points[i]=[Xi,Yi]. 请找出一条直线,其通过的点的数目最多. 设穿过最多点的直线所穿过的全部点编号 ...

  3. 程序员面试金典 - 面试题 10.02. 变位词组(哈希map)

    1. 题目 编写一种方法,对字符串数组进行排序,将所有变位词组合在一起. 变位词是指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", ...

  4. 程序员面试金典 - 面试题 02.06. 回文链表(快慢指针+链表反转)

    1. 题目 编写一个函数,检查输入的链表是否是回文的. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你 ...

  5. 面试题 01.04. 回文排列

    面试题 01.04. 回文排列 给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一. 回文串是指正反两个方向都一样的单词或短语.排列是指字母的重新排列. 回文串不一定是字典当中的单词. 示例 ...

  6. 程序员面试金典面试题 01.06. 字符串压缩

    前言 本系列文章为<程序员面试金典>刷题笔记. 题目位置:字符串压缩 题集:程序员面试金典 题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串a ...

  7. 程序员面试金典 - 面试题 01.02. 判定是否互为字符重排(哈希map)

    1. 题目 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例 1: 输入: s1 = "abc", s2 = &qu ...

  8. 程序员面试金典 - 面试题 05.04. 下一个数(线性扫描)

    文章目录 1. 题目 2. 解题 2.1 STL 2.2 线性扫描 2.3 位运算 1. 题目 下一个数.给定一个正整数,找出与其二进制表达式中1的个数相同且大小最接近的那两个数(一个略大,一个略小) ...

  9. 程序员面试金典 - 面试题 02.04. 分割链表

    1. 题目 编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前.如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示).分割元素 x 只需处于" ...

最新文章

  1. 【转载】C语言变量详解
  2. etw系统provider事件较多_【Flutter 实战】文件系统目录
  3. ecshop_v2.7.3下载地址
  4. 软件測试基本方法(一)之软件測试
  5. polymer 绑定html元素,使用在Polymer元素内的light dom中定义的模板
  6. oracle取两条sql查询结果的差集,并集,交集
  7. 【CodeForces - 798D】Mike and distribution (思维构造,贪心,黑科技)
  8. python3.6+selenium_Testsuits测试套件
  9. 快学Scala习题解答—第一章 基础
  10. track_info分区表的创建并将ETL的数据加载到Hive表
  11. java随机姓名_Java随机产生中文昵称
  12. KALI利用MS17-010漏洞入侵
  13. BLUE引擎M2运行几天后就不可以施放合击技能的方法
  14. 王道训练营作业 C++
  15. 【无标题】简单的培根密码解密
  16. python 断言大全
  17. 恒生电子2020届秋季招聘实录(已签offer)
  18. unity3d学习笔记-动画(1.Unity 中动画的基本原理)
  19. linux fq队列,理解fq_codel之概述
  20. testing众测学院测试用例考核题目及答案

热门文章

  1. 基于C++中常见内存错误的总结
  2. Codeforces - 1194C - From S To T - 子序列 - 排序
  3. C++之Boost准标准库配置
  4. 使用栈实现中缀表达式转为后缀表达式和后缀表达式的求解
  5. Android系统驱动【转】
  6. WPF系列 自定控件
  7. 原 IOS之NSValue整理
  8. Linux学习笔记(4) - 文件系统
  9. WP7 网络请求之WebClient
  10. VB6调用API打开目标文件所在文件夹且选中目标文件