#1657

Determine if Two Strings Are Close

specialist · 810 · lc medium +31 · verified · 54.2% accepted · 4,115 likes · top 46%

Description

Two strings are close if one can be transformed into the other via these operations any number of times:

- Operation 1: swap any two characters.

- Operation 2: swap all occurrences of one character with all occurrences of another existing character.

Given word1 and word2, return true if they are close, false otherwise.

Example 1:

Input: word1 = "abc", word2 = "bca"
Output: true
Explanation: You can attain word2 from word1 in 2 operations.
Apply Operation 1: "abc" -> "acb"
Apply Operation 1: "acb" -> "bca"

Example 2:

Input: word1 = "a", word2 = "aa"
Output: false
Explanation: It is impossible to attain word2 from word1, or vice versa, in any number of operations.

Example 3:

Input: word1 = "cabbba", word2 = "abbccc"
Output: true
Explanation: You can attain word2 from word1 in 3 operations.
Apply Operation 1: "cabbba" -> "caabbb"
Apply Operation 2: "caabbb" -> "baaccc"
Apply Operation 2: "baaccc" -> "abbccc"

Code

1
2
3