leetcode 242 Valid Anagram

来源:互联网 发布:js input date 默认值 编辑:程序博客网 时间:2024/06/05 21:05

原题:
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.
大意:
给你一个单词,然后再给你另外一个单词。问你这第二个单词是不是第一个单词打乱顺序的结果。

class Solution{    int has[27];public:    bool isAnagram(string s, string t)    {        if(s.size()!=t.size())            return false;        memset(has,0,sizeof(has));        for(int i=0;i<s.size();i++)            has[s[i]-'a'+1]++;        for(int i=0;i<t.size();i++)        {            has[t[i]-'a'+1]--;            if(has[t[i]-'a'+1]<0)                return false;        }        for(int i=0;i<27;i++)            if(has[i]!=0)            return false;        return true;    }};

解答:
如果第二个单词是第一个仅仅单词打乱的结果,那所用的字母和字母的数量应该是一样的,记录一个has表记录用过的字母的数量,判断下一个单词即可

0 0
原创粉丝点击