Valid Anagram 比较两个字符串是否相同

来源:互联网 发布:it行业工资 编辑:程序博客网 时间:2024/05/16 17:03

Valid Anagram

 

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 {public://我觉得可以哈希做,消耗内存;也可以排序后按字比较,复杂度高一点    bool isAnagram(string s, string t) {       /*        //哈希做 AC        char str[256];        int len1=s.size(),len2=t.size();        if(len1!=len2)            return false;        else if(len1==0)            return true;        int i;        memset(str,0,sizeof(str));        for(i=0;i<len1;i++)        {            str[s[i]]++;        }        for(i=0;i<len2;i++)        {            str[t[i]]--;        }        for(i=97;i<=122;i++)        {            if(str[i]!=0)                break;        }        if(i!=123)            return false;        else            return true;                  */           int i,len1=s.size(),len2=t.size();     if(len1!=len2)        return false;     else if(len1==0)        return true;     sort(s.begin(),s.end());     sort(t.begin(),t.end());     for(i=0;i<len1;i++)     {         if(s[i]!=t[i])            break;     }     if(i==len1)        return true;     else        return false;    }};

0 0