给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1 : 
输入:  s =  "anagram" ,  t =  "nagaram" 
输出:  true 示例 2 : 
输入:  s =  "rat" ,  t =  "car" 
输出:  false 
检查字符串长度: 函数首先检查两个字符串 s 和 t 的长度是否相同。如果长度不相等,直接返回 false,因为长度不同的字符串不可能是字母异位词。 初始化哈希表: 使用一个固定大小为26的整型数组 hash 来存储每个字母的频率。数组的每个位置对应一个字母(‘a’ 到 ‘z’),初始值设为0。 填充哈希表: 遍历字符串 s,对于 s 中的每个字符,通过 s[i] - ‘a’ 计算其在 hash 数组中的索引,并将对应的值增加1。 修改哈希表以匹配第二个字符串: 遍历字符串 t,同样计算每个字符在 hash 检查哈希表的所有值: 遍历 hash 返回结果: 如果所有检查都未发现问题,最后返回 true,表示两个字符串是字母异位词。 # include <iostream> # include <string> using  namespace  std; class  Solution  { 
public : bool  isAnagram ( string s,  string t)  { if ( s. size ( )  !=  t. size ( ) )  return  false ; int  hash[ 26 ]  =  { 0 } ; for ( int  i =  0 ;  i <  s. size ( ) ;  i++ ) { hash[ s[ i]  -  'a' ] ++ ; } for ( int  i =  0 ;  i <  t. size ( ) ;  i++ ) { hash[ t[ i]  -  'a' ] -- ; } for ( int  i =  0 ;  i <  26 ;  i++ ) { if ( hash[ i]  !=  0 )  return  false ; } return  true ; } 
} ; int  main ( ) 
{ Solution s; string str1 =  "aee" ; string str2 =  "eae" ; cout <<  s. isAnagram ( str1,  str2)  << endl; return  0 ; 
}