【LeetCode】242. Valid Anagram(考察算法优化)
2016-01-08 09:40
344 查看
Question
Given two strings s and t, write a function to determine if t is an anagram of s.For example,
s = “anagram”, t = “nagaram”, return true.
s = “rat”, t = “car”, return false.
Note:
You may assume the string contains only lowercase alphabets.
My code
bool isAnagram(string s, string t) { sort(s.begin(), s.end()); sort(t.begin(), t.end()); return s==t; }
However, my solution costs O(n logn).
O(n) solution:
class Solution { public: bool isAnagram(string s, string t) { if(s.size() != t.size()) return false; vector<int> vec(26, 0); for(auto n : s) ++vec[n - 'a']; for(auto n : t) --vec[n - 'a']; for(auto n : vec) if(n != 0) return false; return true; } };
相关文章推荐
- hadoop入门教程及其实例代码
- Android-贝塞尔曲线应用
- postgresql 分区与优化
- H264 数据avi文件封装和拆解
- python中安装以及环境配置
- 职场“婆媳”,新人与老人的新仇旧怨
- 为什么不用Hashtable
- RAID磁盘阵列学习笔记
- Python argv用法详解
- 优秀的产品经理,必须翻越这三座大山
- 常见HTTP状态值
- 2016【太原网络营销师】郭文军何为社会化媒体的http理论
- 利用 v7 Toolbar 自定义 Android ActionBar
- 读《一课经济学》
- 在这五件事情上,人工智能比人类更出色
- 使用equinox开发osgi
- 泛型的继承
- 周末分享——通往成功的三只老虎
- 深度分析 Java 的枚举类型:枚举的线程安全性及序列化问题
- [Morn UI系列教程]Morn资源命名规则