[LeetCode]242. 字符串——有效的字母异位词
在找到满意的工作之后,本菜菜退出博客圈1年多了吧(其实也没发过几篇博文hh)。。本萌新社畜可以说非常懈怠颓废了(所在公司据说是什么上海三大养老院之首,具体哪个厂就不说了😂)。。BUT,经历身边童鞋工作变故后,本菜菜决定重振旗鼓,继续努力,争取早日摆脱菜菜属性,立于不败之地,在此立下flag攻克leetcode,啃完primer和deep Learning花书(妈耶,心好虚🤣)
废话不多说,我们开始吧!!
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。
C++
核心点就在于使用哈希表映射。先判断两个字符串长度是否相同,不相同直接返false。然后把s中所有的字符出现个数统计起来,存入一个大小为26的数组中,然后再来统计t字符串,如果发现不匹配则返false。
class Solution {
public:
bool isAnagram(string s, string t) {
if (s.size() != t.size()) return false;
int m[26] = {0};
for (int i = 0; i < s.size(); ++i) ++m[s[i] - 'a'];
for (int i = 0; i < t.size(); ++i) {
if(--m[t[i] - 'a'] < 0) return false;
}
return true;
}
};
参考来源https://www.cnblogs.com/grandyang/