【初级算法】15. 有效的字母异位词
2018-05-03 13:14
162 查看
题目:
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 例如, s = "anagram",t = "nagaram",返回 true s = "rat",t = "car",返回 false 注意: 假定字符串只包含小写字母。 提升难度: 输入的字符串包含 unicode 字符怎么办?你能能否调整你的解法来适应这种情况?
1,解题思路:
本题比较简单,直接统计两个字符串中128个字符出现的个数,然后就比较数量是否相等即可。
class Solution { public: bool isAnagram(string s, string t) { map<char,int> maps; map<char,int> mapt; if(s.size()!=t.size()){ return false; } for(int i = 0;i < s.size();++i){ if(maps.find(s[i])!=maps.end()){ maps[s[i]] += 1; }else{ maps[s[i]] = 1; } if(mapt.find(t[i])!=mapt.end()){ mapt[t[i]] += 1; }else{ mapt[t[i]] = 1; } } for(int i = 0;i < t.size();++i){ if(maps[s[i]]!=mapt[s[i]]){ return false; } } return true; } };
相关文章推荐
- 【中级算法】49. 字母异位词分组
- LeetCode242有效的字母异位词
- leetcode 242 有效的字母异位词
- 【初级算法】10.有效的数独
- [ACM训练] 算法初级 之 搜索算法 之 深度优先算法DFS (POJ 2251+2488+3083+3009+1321)
- 游戏开发中的数学和物理算法(15):矩阵的加减法
- C语言的初级算法大全
- 15算法课程 326. Power of Three
- 数据结构——算法之(031)(将字符串中全部小写字母排在大写字母的前面)
- 如何有效地做算法题
- 算法学习之旅,初级篇(11)--凯撒的密码
- C++ Primer 学习笔记_41_STL实践与分析(15)--先来看看算法【下一个】
- 【初级算法】14. 字符串中的第一个唯一字符
- 算法15 之二叉树排序
- 近100个C语言基础算法案例(初级篇)
- 每日打卡 2017.03.12 POJ题目分类 初级-一、基本算法
- 华为OJ 初级:24点游戏算法
- 有效的使用和设计COM智能指针——条款15:以原则中的优先级作为取舍的依据
- 校招准备系列:每天一道算法题(15)-求1+2+3+...+n
- P进制转换为Q进制 进制的转换 C++算法 简单模拟 算法入门初级