字符串相等

题解:
两个字符串中的字符一样,出现次数一样,只是顺序不一样,那么这两个字符串相等;

方法1:
字符串排序后,顺序比较;

bool StringEquality(string &a, string &b)
{
	if (a.length() == b.length())
	{
		sort(a.begin(), a.end());
		sort(b.begin(), b.end());
		int i;
		for (i = 0; i < a.length() && (a[i] == b[i]); i++);
		if (i < a.length())
		{
			return false;
		}
		return true;
	}
	return false;
}

方法2:
把A中的字符相加得到一个值,B中的字符相加得到一个值,判断值是否相等

bool StringEquality(string &a, string &b)
{
	if (a.length() == b.length())
	{
		int i, asum = 0, bsum = 0;
		for (i = 0; i < a.length(); i++)
		{
			asum += a[i];
			bsum += b[i];
		}
		if (asum != bsum)
		{
			return false;
		}
		return true;
	}
	return false;
}

猜你喜欢

转载自blog.csdn.net/weixin_40540957/article/details/84968014