美文网首页LeeCode题目笔记
2019-09-11 有效的字母异位词

2019-09-11 有效的字母异位词

作者: Antrn | 来源:发表于2019-09-28 11:10 被阅读0次

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

示例 1:

输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

输入: s = "rat", t = "car"
输出: false

说明:
你可以假设字符串只包含小写字母。

进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

C++
class Solution {
public:
    bool isAnagram(string s, string t) {
        if((s.empty()&&t.empty())){  // ""和""
            return true;
        }else if(s.size()!=t.size()){ // "a"和"ab"
            return false;
        }else if(s.compare(t) != 0 && sameChars(s,t)){ // "abc"和"acb"
            return true;
        }else if(s.compare(t) == 0 && s.size() ==1){ // "a"和"a"
            return true;
        }
        return false;
    }
    // 比较两个字符串中所的字符是否具有相同的数量,是则返回true
    bool sameChars(string s, string t){
        map<char, long> m1,m2;
        for(int i=0;i<s.size();i++){
            if(m1.find(s[i])!=m1.end()){
                m1[s[i]]+=1;
            }else{
                m1.insert(pair<char, long>(s[i], 1));
            }
        }
        for(int i=0;i<t.size();i++){
            if(m2.find(t[i])!=m2.end()){
                m2[t[i]]+=1;
            }else{
                m2.insert(pair<char, long>(t[i], 1));
            }
        }
        map<char, long>::iterator it=m2.begin();
        for (map<char, long>::iterator iss=m1.begin(); iss!=m1.end(); ++iss){
            if(it->first!=iss->first || it->second!=iss->second){
                return false;
            }
            ++it;
        }
        return true;
    }
};

相关文章

  • 2019-09-11 有效的字母异位词

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 示例 2: 说明:你...

  • leecode刷题(14)-- 有效的字母异位词

    leecode刷题(14)-- 有效的字母异位词 有效的字母异位词 描述: 给定两个字符串 s 和 t ,编写一个...

  • 有效的字母异位词

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: 示例 2: 说明...

  • 有效的字母异位词

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = "ana...

  • 有效的字母异位词

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: 输入: s = ...

  • 有效的字母异位词

    有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1:...

  • 有效的字母异位词

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 示例 2: 说明:你...

  • 有效的字母异位词

    题目描述 难度级别:简单 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 ...

  • 算法时间 III

    1. 有效的字母异位词[https://leetcode.cn/problems/valid-anagram/] ...

  • 242. 有效的字母异位词

    242. 有效的字母异位词[https://leetcode.cn/problems/valid-anagram/...

网友评论

    本文标题:2019-09-11 有效的字母异位词

    本文链接:https://www.haomeiwen.com/subject/ayriyctx.html