Given, Strings s and T, write a function to determine if it is a anagram of s.
For example,
s = "Anagram", t = "Nagaram", return true.
s = "Rat", t = "Car", return false.
Note:
Assume the string contains only lowercase alphabets.
Description: Give two strings to determine if they are similar. It mainly depends on whether the two strings are equal in length, whether the same characters appear, and the same characters appear the same number of times.
Resolution: First determine whether two characters are empty, whether the length is the same, whether the length is 0, and then use Java HASHMAP data structure, first traverse the string s, record the number of occurrences of the character and character, and then traverse the string T, if there is no occurrence of the characters in S, then directly return false If the current character appears in S, only the value of value recorded in the map-1, the last value is not 1, returns false otherwise returns TRUE.
Answer:
Public BooleanIsanagram (string s, String t) {if(s==NULL&& t==NULL) return true; if(S.length ()! =t.length ())return false; if(S.length () ==0 && t.length () ==0) return true; HashMap<character, integer> map =NewHashmap<character, integer>(); for(inti=0; I<s.length (); i++){ if(!Map.containskey (S.charat (i))) {Map.put (S.charat (i),1); } Else { intv =Map.get (S.charat (i)); Map.put (S.charat (i), v+1); } } for(inti=0; I<t.length (); i++){ if(!Map.containskey (T.charat (i)))return false; Else { intv =Map.get (T.charat (i)); Map.put (T.charat (i), v-1); }} Iterator iter=Map.entryset (). iterator (); while(Iter.hasnext ()) {Map.entry Entry=(Map.entry) iter.next (); if((int) Entry.getvalue ()! = 0) return false; } return true; }
Leetcode--Valid Anagram