有效的字母异位词(C++)

简介: 有效的字母异位词(C++)

有效的字母异位词

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

**注意:**若 s 和t 中每个字符出现的次数都相同,则称 s 和 t互为字母异位词。

示例 1:

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

示例 2:

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

提示:

  • 1 <= s.length, t.length <= 5 * 104
  • s和 t 仅包含小写字母

我的代码:

class Solution {
// map技巧题
// 基本属于map的基础练习题
public:
    bool isAnagram(string s, string t) {
        if (s.size() != t.size()) return false;
        map<char, int> mp1;
        for (int i = 0; i < s.size(); ++ i) mp1[s[i]] ++;
        for (int i = 0; i < t.size(); ++ i)                
        {
            mp1[t[i]] --;
            if (mp1[t[i]] < 0)  return false;
        }
        for (int i = 0; i < s.size(); ++ i)
        {
            if (mp1[s[i]] != 0) return false;
        }
        return true;
    }
};


相关文章
|
7天前
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
7天前
|
Linux 监控 Ubuntu
Linux 终端操作命令(1)
Linux 终端操作命令(1)
66 1
Linux 终端操作命令(1)
|
7天前
|
Java Go C++
Golang每日一练(leetDay0115) 重新安排行程、递增的三元子序列
Golang每日一练(leetDay0115) 重新安排行程、递增的三元子序列
36 0
Golang每日一练(leetDay0115) 重新安排行程、递增的三元子序列
|
7天前
|
Python C++ Java
C/C++每日一练(20230417) 字母异位词分组、右侧小于当前元素个数、加一
C/C++每日一练(20230417) 字母异位词分组、右侧小于当前元素个数、加一
27 0
C/C++每日一练(20230417) 字母异位词分组、右侧小于当前元素个数、加一
|
7天前
|
Python C++ Java
C/C++每日一练(20230407) 选择排序法、多数元素、字母异位词分组
C/C++每日一练(20230407) 选择排序法、多数元素、字母异位词分组
38 0
C/C++每日一练(20230407) 选择排序法、多数元素、字母异位词分组
|
7天前
|
C++
c++:string相关的oj题(把字符串转换成整数、344.反转字符串、387. 字符串中的第一个唯一字符、917. 仅仅反转字母)
c++:string相关的oj题(把字符串转换成整数、344.反转字符串、387. 字符串中的第一个唯一字符、917. 仅仅反转字母)
56 0
|
5月前
|
存储 C++ 索引
电话号码的字母组合(C++实现)
电话号码的字母组合(C++实现)
33 0
|
9月前
|
存储 算法 C++
【C/C++练习】经典的排列组合问题(回溯算法)——电话号码的字母组合
【C/C++练习】经典的排列组合问题(回溯算法)——电话号码的字母组合
82 0
【C++之标准类型数据的格式输出2】显示字母B组成的三角形
【C++之标准类型数据的格式输出2】显示字母B组成的三角形
|
存储 C语言 C++
Leetcode17. 电话号码的字母组合:递归树深度遍历(C++vector和string的小练习)
Leetcode17. 电话号码的字母组合:递归树深度遍历(C++vector和string的小练习)