码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-08-14 03:50:27      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:c++   string   

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

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

标签:c++   string   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!