[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/
posted @ 2020-05-23 12:36  moonpie_sun  阅读(154)  评论(0编辑  收藏  举报