关关的刷题日记 36 – Leetcode 242. Valid Anagram

关关的刷题日记36 – Leetcode 242. Valid Anagram

题目

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.

题目的意思是判断t是否是s的相同字母异序词。

方法1:排序判断


class Solution {
public:
    bool isAnagram(string s, string t) {
        sort(s.begin(),s.end());
        sort(t.begin(),t.end());
        return (s==t);
    }
};

方法2:字符个数比较的方法来判断,因为只有26个字母,所以建一个长度为26的vector来存个数就行了。


class Solution {
public:
    bool isAnagram(string s, string t) {
        vector<int>count(26,0);
        if(s.size()!=t.size())
            return false;
        for(int i=0; i<s.size(); i++)
        {
            count[s[i]-'a']++;
            count[t[i]-'a']--;
        }
        for(int i:count)
        {
            if(i!=0)
                return false;
        }
        return true;
    }
};

人生易老,唯有陪伴最长情,加油!

以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。 同时请,关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法等内容。扫一扫下方关注我们的微信公众号。

图片

展开全文
相关主题
Top
微信扫码咨询专知VIP会员