如果可以使用以下操作从一个字符串得到另一个字符串,则认为两个字符串 接近 :
abcde -> aecdb
aacabb -> bbcbaa
(所有 a
转化为 b
,而所有的 b
转换为 a
)你可以根据需要对任意一个字符串多次使用这两种操作。
给你两个字符串,word1
和 word2
。如果 word1
和 word2
接近 ,就返回 true
;否则,返回 false
。
输入:word1 = "abc", word2 = "bca" 输出:true 解释:2 次操作从 word1 获得 word2 。 执行操作 1:"abc" -> "acb" 执行操作 1:"acb" -> "bca"
问题转换:也就是说,这两个字符串的字母种类是相同的,并且字母出现所有频率是相同的(每一个字母对应的频率可以不同,但是频率序列一定相同)
- class Solution(object):
- def closeStrings(self, word1, word2):
- """
- :type word1: str
- :type word2: str
- :rtype: bool
- """
- return Counter(word1).keys() == Counter(word2).keys() and sorted(Counter(word1).values()) == sorted(Counter(word2).values())
自己的编译器试了没问题,但是不知道为什么还会出错