Skip to main content

Day 6- Valid Anagram - leetcode - Python

 Given two strings s and t, return true if t is an anagram of s, and false otherwise.

An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.

 

Example 1:

Input: s = "anagram", t = "nagaram"
Output: true

Example 2:

Input: s = "rat", t = "car"
Output: false

Constraints:

  • 1 <= s.length, t.length <= 5 * 104
  • s and t consist of lowercase English letters.


SOLUTION:

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        if sorted(s)==sorted(t):
            return True
        else:
            return False

The time complexity of the sorted() function is O(n log n), where n is the length of the input string. Therefore, sorting each string has a time complexity of O(n log n).

  • Time complexity:

O(n+m)O(n + m)

Here's how the code works:

  1. The code uses the sorted() function twice, once for each input string s and t. The sorted() function returns a sorted list of characters from the input string. By comparing the sorted lists for both strings, the code checks if they are equal.

  2. If the sorted lists of both strings are equal, it means that the characters in the two strings are the same but in a different order. In this case, the code returns True, indicating that the strings are anagrams of each other.

  3. If the sorted lists are not equal, it means that the characters in the two strings are different, and they cannot be anagrams. In this case, the code returns False.

Comments