文章

33

粉丝

0

获赞

156

访问

7.6k

头像
变位词 题解:哈希
P1032
发布于2026年3月17日 11:50
阅读数 150

#include<bits/stdc++.h>

using namespace std;


int main(){
	
	int N;
	
	cin>>N;
	
	while(N--){
		string s1,s2;
		cin>>s1>>s2;
		
		bool flag = true;
		//注意数组必须初始化,否则会初始化随机数。这里用map<char,int>也行
		int arr1[1010]={0};
		
		for(int i=0;i<s1.size();i++){// +1 -1 然后数组存在非0就是出现无序字符不等的情况
			int temp = s1[i];
			arr1[temp] +=1;
		}
		for(int i=0;i<s2.size();i++){
			int temp = s2[i];
			arr1[temp] -=1;
			
		}
		
		for(int i=0;i<1010;i++){
			if(arr1[i]!=0){
				flag=false;
				break;
			}
		}
		
		if(flag){
			cout<<"Yes"<<endl;
		}else cout<<"No"<<endl;
		
		
		
	}
	
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发