1.4 Palindrome Permutation
2015-10-24 16:25
393 查看
The basic idea of this problem is counting each character’s appearance time.
For even length string: each char should appear even times.
For odd length string: only one char can appear odd time.
I use bool oddCharAppeared to indicate if there was a char appear odd time.
For even length string: each char should appear even times.
For odd length string: only one char can appear odd time.
I use bool oddCharAppeared to indicate if there was a char appear odd time.
void countFrequency(string& s , int* frequency){ int idx = -1; for (const char & c : s) { idx = tolower(c) -'a'; if ( idx != -1 ) ++frequency[idx]; } } bool palindromePermutation(string& s){ int fre[ 26 ] = { 0 }; countFrequency(s,fre); bool oddCharAppeared = false; for (int i = 0; i<26; ++i) { if(fre[i]%2 && !oddCharAppeared) oddCharAppeared = true; else if (fre[i]%2 && oddCharAppeared) return false; } return true; }
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- PostgreSQL ERROR: invalid escape string 解决办法
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- PHP STRING 陷阱原理说明
- c#中 String和string的区别介绍
- C#实现的图片、string相互转换类分享
- asp.net String.IsNullOrEmpty 方法
- JavaScript中字符串(string)转json的2种方法
- C#中string用法实例详解
- C#中的DataSet、string、DataTable、对象转换成Json的实现代码
- JavaScript中的object转换成number或string规则介绍