# Check if characters of one string can be swapped to form other in Python

PythonServer Side ProgrammingProgramming

Suppose we have two strings s and t, we have to check whether we can generate t by swapping the character of the s.

So, if the input is like s = "worldlloeh" t = "helloworld", then the output will be True as we can swap characters from "worldlloeh" to make "helloworld".

To solve this, we will follow these steps −

• s_len := size of s, t_len := size of t
• if s_len is not same as t_len, then
• return False
• freq := a map to store all characters and their frequencies in s
• for i in range 0 to t_len, do
• freq[t[i]] := freq[t[i]] - 1
• if freq[t[i]] < 0, then
• return False
• return True

Let us see the following implementation to get better understanding −

## Example

Live Demo

from collections import defaultdict
def solve(s, t):
s_len = len(s)
t_len = len(t)
if (s_len != t_len):
return False
freq = defaultdict(int)
for char in s :
freq[char] += 1
for i in range(t_len) :
freq[t[i]] -= 1
if freq[t[i]] < 0:
return False
return True
s = "worldlloeh"
t = "helloworld"
print(solve(s, t))

## Input

"worldlloeh", "helloworld"

## Output

True