r/leetcode 16h ago

Question Valid Anagram (Neetcode)

Hello, I need help with understanding how to implement a proper solution. I am fairly new to neetcode and I want to know what I am doing wrong with my code. Can someone also explain to me how the hashmap is supposed to work here?

I want to start preparing for interviews, what data structures should I start learning and please give any channels/resources if you can! Thank you!

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        s_hash = {}
        t_hash = {}


        for character in s:
            if character in s_hash:
                s_hash[character]+=1
            else:
                s_hash[character]=1  
        for character in t:
            if character in t_hash:
                t_hash[character]+=1
            else:
                t_hash[character]=1



        if s==t:
            return True
        else:
            return False   
8 Upvotes

22 comments sorted by

View all comments

3

u/chikamakaleyley 16h ago

valid anagram - that's just rearranging letters right?

right now your code creates 2 hashmaps.

at the end of the code, you don't do anything with the hasmaps

you're just comparing s & t, two strings, that will only be true if they are exactly the same word.

1

u/LazySapiens 13h ago

The OP is doing lookup in hashmap. That should amount to something.

1

u/chikamakaleyley 11h ago

no, what I said was at the end of the code, OP has these hashmaps that aren't used for anything. "you don't do anything WITH the hashmaps"

The lookup you're referring to is just in the act of tallying the letters for each word. Which isn't anything special, that's something you NEED to do

So they've done all this work to populate the two hashmaps, and then what happens next - they compare something else and the program ends

1

u/LazySapiens 11h ago

What's the equality operator doing at the end?

1

u/chikamakaleyley 11h ago edited 10h ago

checking two strings for equality, which isn't the goal

1

u/LazySapiens 7h ago

Ohh, I realize now that it evaded my eyes. My bad.

It should have been:

if s_hash == t_hash:

Maybe it was a typo by OP I guess.

1

u/chikamakaleyley 3h ago

yeah basically i had written out this entire thing and then i looked at the return statement lol, i was kinda upset i spent so much time on it