1. 程式人生 > >005推斷兩個字符串是否是變位詞 (keep it up)

005推斷兩個字符串是否是變位詞 (keep it up)

right sans color amp 兩個 我們 nag 排序 isa

寫一個函數推斷兩個字符串是否是變位詞。

變位詞(anagrams)指的是組成兩個單詞的字符同樣,但位置不同的單詞。比方說, abbcd和abcdb就是一對變位詞

這也是簡單的題。 我們能夠排序然後對照, 也能夠直接統計字符出現的個數來推斷。這裏給出統計字符來推斷的代碼:

bool isAnagram1(const string& vLeft, const string& vRight)
{
	if (vLeft.size() != vRight.size()) return false;
	int Count[256];
	memset(Count, 0, sizeof(Count));

	for (unsigned int i=0; i<vLeft.size(); ++i)
	{
		++Count[vLeft[i]];
		--Count[vRight[i]];
	}

	for (unsigned int i=0; i<vLeft.size(); ++i)
	{
		if (Count[vLeft[i]] !=0) return false;
	}

	return true;
}


005推斷兩個字符串是否是變位詞 (keep it up)