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.


#include<string>
#include<iostream>
#include<algorithm>
using namespace std;

bool iequal(string, string);

int main()
{
	string a = "asdfgh";
	string b = "hgfdsa";
	bool temp;
	temp = iequal(a, b);
	cout << temp;

	system("pause");
	return 0;
}
bool iequal(string a, string b)
{
	/*int len1 = a.size();
	int len2 = b.size();
	sort(a.begin(), a.end());
	sort(b.begin(), b.end());

    return a == b;*/
	int len1 = a.size();
	int len2 = b.size();
	if (len1 != len2)
		return false;
	int m[26] = { 0 };
	for (int i = 0; i < len1; i++)
	{
		m[a[i] - 'a']++;
	}
	for (int i = 0; i < len1; i++)
	{
		if (m[b[i] - 'a']-- < 0)
			return false;
	}
	for (int i = 0; i < 26; i++)
	{
		if (m[i] < 0)
			return false;
	}
	return true;

}


你可能感兴趣的:(Valid Anagram)