005推断两个字符串是否是变位词 (keep it up)

Posted cynchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了005推断两个字符串是否是变位词 (keep it up)相关的知识,希望对你有一定的参考价值。

写一个函数推断两个字符串是否是变位词。

变位词(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)的主要内容,如果未能解决你的问题,请参考以下文章

两个字符串是变位词(简单)

LintCode日记——两个字符串是变位词(C++,Python)

每日一程-19.检查输入的两个词是否构成变位词

编程珠玑第二章问题C

python二级练习和考试复习(变位词)

数据结构与算法——变位词判断问题