当前位置:网站首页>leetcode: 266. All Palindromic Permutations
leetcode: 266. All Palindromic Permutations
2022-08-05 00:20:00 【OceanStar's study notes】
题目来源
题目描述
给定一个字符串,判断该字符串中是否可以通过重新排列组合,形成一个回文字符串.
题目解析
思路
回文序列:
- If the length of the string is an odd length,Only one letter appears an odd number of times,其余均为偶数
- If the length of the string is parity length,The number of occurrences of each letter must be an even number
实现
同一个map来统计
class Solution {
public:
bool canPermutePalindrome(string s) {
unordered_map<char, int> m;
int cnt = 0;
for (auto a : s) ++m[a];
for (auto a : m) {
if (a.second % 2 == 1) ++cnt;
}
return cnt == 0 || (s.size() % 2 == 1 && cnt == 1);
}
};
用set也可以
class Solution {
public:
bool canPermutePalindrome(string s) {
unordered_set<char> st;
for (auto a : s) {
if (!st.count(a)) st.insert(a);
else st.erase(a);
}
return st.empty() || st.size() == 1;
}
};
bitset
- 建立一个 256 大小的 bitset,每个字母根据其 ASCII Different code values have their corresponding positions
- Then we iterate over the entire string,遇到一个字符,Just put the binary number of its corresponding position flip 一下,就是0变1,1变0
- Then after the traversal is complete,All corresponding positions with an even number of occurrences should also be 0,And when the number of occurrences is odd,对应位置就为1了
- That is to say, we only need statistics in the end1的个数,You know the number of letters with odd occurrences,as long as the number is less than2就是回文数
class Solution {
public:
bool canPermutePalindrome(string s) {
bitset<256> b;
for (auto a : s) {
b.flip(a);
}
return b.count() < 2;
}
};
边栏推荐
猜你喜欢
Mysql_13 事务
"Relish Podcast" #397 The factory manager is here: How to use technology to empower the law?
10 个关于 Promise 和 setTimeout 知识的面试题,通过图解一次说透彻
游戏3D建模入门,有哪些建模软件可以选择?
【七夕情人节特效】-- canvas实现满屏爱心
Ab3d.PowerToys and Ab3d.DXEngine Crack
The master teaches you the 3D real-time character production process, the game modeling process sharing
Privacy Computing Overview
学会反射后,我被录取了(干货)
KT6368A蓝牙的认证问题_FCC和BQB_CE_KC认证或者其它说明
随机推荐
KT148A voice chip ic working principle and internal architecture description of the chip
KT6368A Bluetooth certification problem_FCC and BQB_CE_KC certification or other instructions
D - I Hate Non-integer Number (选数的计数dp
NMS原理及其代码实现
Statistical words (DAY 101) Huazhong University of Science and Technology postgraduate examination questions
What is next-generation modeling (with learning materials)
#yyds dry goods inventory #Switching equipment serious packet loss troubleshooting
[230]连接Redis后执行命令错误 MISCONF Redis is configured to save RDB snapshots
【云原生--Kubernetes】Pod控制器
学会反射后,我被录取了(干货)
Getting started with 3D modeling for games, what modeling software can I choose?
从单体架构迁移到 CQRS 后,我觉得 DDD 并不可怕
gorm联表查询-实战
MAUI Blazor 权限经验分享 (定位,使用相机)
leetcode:266. 回文全排列
MongoDB权限验证开启与mongoose数据库配置
2 用D435i运行VINS-fusion
Essential knowledge for entry-level 3D game modelers
头脑风暴:完全背包
DNS常见资源记录类型详解