[leetcode]Valid Anagram

作者:luozhipeng   发表日期:2015-8-2  浏览:2,154次

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.

Note:
You may assume the string contains only lowercase alphabets.

Anagram

题意:判断两个字符串是否是由相同的字母组成。

 

输入:两个字符串s和t,只包含小写字母。

返回:true或false。

 

思路:使用一个大小为26的数组统计字母即可,s中的字母做累加,t中的字母做累减,最后如果数组全为0表示这两个字符串是包含相同的字母,返回true,否则返回false。

class Solution {
public:
    bool isAnagram(string s, string t) {
        int lens = s.length(),lent = t.length();
        if(lens != lent)
            return false;
        int arr[26];
        memset(arr,0,sizeof(arr));
        for(int i = 0; i < lens; ++i){
            ++arr[s[i] - 'a'];
            --arr[t[i] - 'a'];
        }
        for(int i = 0; i < 26; ++i)
            if(arr[i])
                return false;
        return true;
    }
};

 

标签:

本文固定链接: http://www.luozhipeng.com/?p=460
转载请注明: luozhipeng 2015-8-2 于 罗志鹏的BLOG 发表

上一篇: :下一篇
返回顶部