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

时间:2014-08-14 03:50:27   收藏:0   阅读:527

写一个函数判断两个字符串是否是变位词。变位词(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;
}


判断两个字符串是否是变位词 (keep it up),布布扣,bubuko.com

原文:http://blog.csdn.net/xiaoliangsky/article/details/38549955

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!