1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| class Solution:
def areAlmostEqual(self, s1: str, s2: str) -> bool:
n = len(s1)
mismatch = 0
flag = 1
arr = [0] * 26
for i in range(n):
arr[ord(s1[i]) - ord('a')] += 1
arr[ord(s2[i]) - ord('a')] -= 1
for freqDiff in arr:
if freqDiff: # if frequency difference of characters in both strings is different
flag = 0
break
if not flag:
return False
for i in range(n):
if s1[i] != s2[i]:
mismatch += 1
return mismatch <= 2
|