242. Valid Anagram
来源:互联网 发布:bt31破解软件最新版 编辑:程序博客网 时间:2024/05/08 13:10
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.
Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?
使用set集合排序 Runtime: 236 ms
class Solution {public: bool isAnagram(string s, string t) { multiset<char> set1; multiset<char> set2; for(auto it=s.begin();it!=s.end();it++) set1.insert(*it); for(auto it=t.begin();it!=t.end();it++) set2.insert(*it); if(set1!=set2) return false; return true; }};
使用sort算法 Runtime: 80 ms
class Solution {public: bool isAnagram(string s, string t) { sort(s.begin(),s.end()); sort(t.begin(),t.end()); return s==t; }};
使用hash table unordered_map Runtime: 36 ms
class Solution {public: bool isAnagram(string s, string t) { if(s.size()!=t.size()) return false; int len=s.size(); unordered_map<char,int> counts; for(int i=0;i<len;i++) { counts[s[i]]++; counts[t[i]]--; } for(auto count:counts) if(count.second) return false; return true; }};
使用数组代替unordered_map获得更短的时间 Runtime: 12 ms
class Solution {public: bool isAnagram(string s, string t) { if(s.size()!=t.size()) return false; int len=s.size(); int counts[26]={0}; for(int i=0;i<len;i++) { counts[s[i]-'a']++; counts[t[i]-'a']--; } for(int i=0;i<26;i++) if(counts[i]) return false; return true; }};
0 0
- [leetcode] 242.Valid Anagram
- 242.Valid Anagram
- leetcode 242. Valid Anagram
- 242. Valid Anagram
- [leetcode] 242. Valid Anagram
- leetCode 242. Valid Anagram
- Leetcode 242. Valid Anagram
- 242. Valid Anagram
- 242. Valid Anagram LeetCode
- 242. Valid Anagram
- LeetCode 242. Valid Anagram
- LeetCode 242. Valid Anagram
- 242. Valid Anagram
- 242. Valid Anagram
- 242. Valid Anagram
- 242. Valid Anagram
- 242. Valid Anagram
- 242. Valid Anagram
- 世美堂后记
- PullToRefresh 使用详解
- JavaScript学习--Item37 面向对象高级程序设计
- poj 3469(最小割)
- 为PHP开发C语言扩展
- 242. Valid Anagram
- Mybatis使用“<trim prefix="SET" suffixOverrides=",">”出现Cause: java.sql.SQLException:
- 第14周项目3:数组类模板
- 【记录】Tom猫——用Animation-list逐帧动画实现
- 多线程学习(十)并发协作-死锁
- spring @ResponseBody ajax返回的result乱码问题
- 薄荷Toolbar(ActionBar)的适配方案
- 给飞驰的法拉利换引擎 - 谈边做业务边做架构重构(4)—— 文武双全
- MySQL 数据库性能优化之缓存参数优化