50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include<stdcpp.h>
 | |
| using namespace std;
 | |
| 
 | |
| class Solution{
 | |
|     public:
 | |
|     bool closeStrings(string word1, string word2){
 | |
|         if(word1.length()!=word2.length()) return false;
 | |
|         const int char_nums = 26;
 | |
|         int word1_chars[char_nums] = {};
 | |
|         int word2_chars[char_nums] = {};
 | |
|         for(int i = 0 ; i < word1.length();i++){
 | |
|             int word1_char = word1[i] - 'a';
 | |
|             int word2_char = word2[i] - 'a';
 | |
|             word1_chars[word1_char]++;
 | |
|             word2_chars[word2_char]++;
 | |
|         }
 | |
|         for(int i = 0 ; i <char_nums ; i++){
 | |
|             if((word1_chars[i]&&!word2_chars[i])||(!word1_chars[i]&&word2_chars[i]))
 | |
|                 return false;
 | |
|         }
 | |
|         sort(word1_chars,word1_chars + char_nums);
 | |
|         sort(word2_chars,word2_chars + char_nums);
 | |
|         for(int i = 0 ; i < char_nums ; i++){
 | |
|             if(word1_chars[i] != word2_chars[i])
 | |
|                 return false;
 | |
|         }
 | |
|         for(int i = 0 ; i < char_nums ; i++){
 | |
|             cout<<word1_chars[i]<<' '<<word2_chars[i]<<endl;
 | |
|             
 | |
|         }
 | |
|         return true;
 | |
|     }
 | |
| };
 | |
| 
 | |
| int main(){
 | |
|     Solution sol;
 | |
|     string word1 = "abc";
 | |
|     string word2 = "bca";
 | |
|     cout<<sol.closeStrings(word1,word2)<<endl;
 | |
|     word1 = "a";
 | |
|     word2 = "aa";
 | |
|     cout<<sol.closeStrings(word1,word2)<<endl;
 | |
|     word1 = "cabbba";
 | |
|     word2 = "abbccc";
 | |
|     cout<<sol.closeStrings(word1,word2)<<endl;
 | |
|     word1 = "uau";
 | |
|     word2 = "ssx";
 | |
|     cout<<sol.closeStrings(word1,word2)<<endl;
 | |
|     return 0;
 | |
| } |