蓝桥杯算法训练 Anagrams问题C++

题目链接:http://lx.lanqiao.cn/problem.page?gpid=T223

题目:

蓝桥杯算法训练 Anagrams问题C++_第1张图片

思路:

人生有时候真是巧的不要不要的,刚在书里看完就撞到了可以运用的题目…缘 妙不可言啊
我在哔哔什么玩意呢我 思路如下

我们可以写一个函数将两个单词都 “标准化”,再在主函数里判断标准化后的两个单词是否相同就行了,“标准化” 包括以下两个操作:

  • 将输入的单词字母都转化成小写
    我这里用的 tolower(ch) 函数,其作用是将 字母字符ch转化成小写,非字母字符不做处理
  • 单词内的字母按照字典序重新排列
    即假设输入的是 cba ,排序后就是 abc
    C++的标准库里也有排序函数 sort()

心得:我哪天要是把STL都学会了我的天那可以省多少事啊

这是之前刚看完的例题,再看到这个题就像它的小崽子一样
https://blog.csdn.net/weixin_42324771/article/details/88082882

有关sort:
https://blog.csdn.net/weixin_42324771/article/details/88086444

代码:

#include <bits/stdc++.h>
using namespace std;

string repr(const string& s)
{
	string ans=s;
	for(int i=0;i<ans.length();i++)
		ans[i]=tolower(ans[i]);
	sort(ans.begin(),ans.end());
	return ans;
}
int main()
{
	string s1,s2; 
	cin>>s1>>s2;
	if(repr(s1)==repr(s2))cout<<"Y"<<endl;
	else cout<<"N"<<endl;
	return 0;
} 

是不是很短?hahahha 开心心

你可能感兴趣的:(蓝桥杯)