【LeetCode 242】 关关的刷题日记36 Valid Anagram

时间:2022-05-07
本文章向大家介绍【LeetCode 242】 关关的刷题日记36 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)。