LeetCode 242. Valid Anagram

来源:互联网 发布:搜狗大数据研究院 编辑:程序博客网 时间:2024/06/02 04:02

242. Valid Anagram

Description

Given two strings s and t, write a function to determine if t is an anagram of s.

For example,s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false. 

Solution

  • 题意即判断两个字符串是否由相同的字符组成(字符以及对应出现次数都要相同)。
  • 用一个26大小的线性哈希表即可判断同时判断字母和出现次数,代码如下。
bool isAnagram(char* s, char* t) {    int s_hash[26] = {0},t_hash[26] = {0};    int slen = strlen(s),tlen = strlen(t);    if (slen != tlen) return false;    for (int i = 0;i < slen;i++) {        s_hash[s[i] - 'a']++;        t_hash[t[i] - 'a']++;    }    for (int i = 0;i < 26;i++) {        if (s_hash[i] != t_hash[i])            return false;    }    return true;}
原创粉丝点击