方法一:排序

解题思路:

C++中,直接用sort函数,对两个字符串进行排序,然后做比较。

class Solution {
public:bool isAnagram(string s, string t) {//直接对string做排序sort(s.begin(), s.end());sort(t.begin(), t.end());return s == t;}
};

方法二:哈希表

解题思路:

使用C++的unordered_map来记录字符串s和t的字符个数,技巧之一在于只使用一个hash表,对字符串s中的额字符,做累加计数,对字符串t中的字符做减计数。

遍历完这两个字符串之后,理论上应该所有字符的计数值为0,如果有不为0的字符,则返回false。

class Solution {
public:bool isAnagram(string s, string t) {if(s.length() != t.length()) return false;unordered_map<char, int> mp;for(int i = 0; i < s.length(); i++){mp[s[i]]++;mp[t[i]]--;}for(auto a : mp){if(a.second) return false;  //如果某一个字符个数不为0,就返回false}return true;}
};

方法三:使用数组

解题思路:

因为题目中已说明只有小写字母,意味着只有26种可能的字符,可以用一个维数为26的一维数组,记录对应字母的个数,解题思路跟方法二一致。

Leetcode 242. 有效的字母异位词 解题思路及C++实现相关推荐

  1. LeetCode 242. 有效的字母异位词 (计数排序思想字符处理)

    242. 有效的字母异位词 题意: 任意给定两个单词字符串,判断这两个字符串是否是字母异位词 思路: 先判断字符串长度是否相等 将s字符串每个字母映射到数组中,在对应位置++ 将t字符串每个字母映射到 ...

  2. Java实现 LeetCode 242 有效的字母异位词

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

  3. LeetCode 242. 有效的字母异位词【哈希表】

    242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词. 示例 ...

  4. leetcode:242 : 有效的字母异位词

    题解: 我们可以用一个数组来统计字符串中各个字母出现的次数. 通过比较各自的统计数组的相同与否来判断是不是字母异位词 有题目可知道字母都是小写的,所以统计的数组大小为26即可. bool isAnag ...

  5. leetcode——242. 有效的字母异位词

    问题描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram& ...

  6. leetcode 242. 有效的字母异位词 思考分析

    题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 我们先考虑低阶版本,认为字符只有26种可能,然后将a ~ z的字符映射到数组的索引0 ~ 25,数组中存放的则是 ...

  7. leetcode 242. 有效的字母异位词

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

  8. 小白 LeetCode 242 有效的字母异位词

    字母异位词 字符串由相同字母组成,但允许排列顺序不同. 如"aaabbb" 与 "ababab" 是字母异位词, 而"aabb" 与 &qu ...

  9. Leetcode 242.有效的字母异位词(哈希表)

    传送门:力扣 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词. 示例 1:输入: ...

最新文章

  1. 计算机 程序 原理,计算机储存程序和程序原理是谁提出来的
  2. java基础===点餐系统
  3. HDOJ(HDU) 1977 Consecutive sum II(推导、、)
  4. [Linux] Linux smaps接口文件结构
  5. Bit-Z携手Bit-MY落户马来西亚 已获得经营牌照
  6. 对刺客历史的一种颠覆:说说《最后的刺客》
  7. 王道考研 计算机网络20 应用层 客户端/服务器C/S模型 P2P模型 DHCP协议 域名解析系统DNS 文件传送协议FTP 万维网 超文本传输协议HTTP
  8. 84岁院士坚持健身搞科研!病床上辅导多名硕博生完成论文
  9. 2021快手美妆行业数据营销报告
  10. 3D溜溜网站用的是php吗_三大免费开源的php语言cms系统 用好它们让你一天建好一个网站...
  11. 从无到有整合SpringMVC-MyBatis项目(2):搭建SpringMVC项目
  12. 太好了 | 这篇写的太好了!Spring Boot + Redis 实现接口幂等性
  13. viewstub学习笔记
  14. 中国知网 博硕士论文 PDF下载 及书签自动生成
  15. 新手建站之【网站备案】③
  16. 耗时2天,我自制了一台体感游戏机
  17. 如何将PDF扫描件转换为JPG图片格式?PDF转JPG图片教程
  18. 华为鸿蒙手机什么时候出售,南财快评:鸿蒙出世,现在明白任正非为什么会说“宁可卖5G,也不会卖终端”了...
  19. 用计算机观察声音的波形,用几何画板观察声音的波形
  20. K8S==springboot项目生成image部署到K8S

热门文章

  1. 设置在本文件里查找_Win 10 自带聚焦搜索?这么设置轻松查找电脑文件
  2. linux查看占用内存最多的程序
  3. tensorflow练习
  4. 构建之法第5词作业(12-15章)
  5. SQL基础---SQL WHERE 子句
  6. 使用泛型查询数据小例
  7. 光脚丫学LINQ(002):筛选数据
  8. 如何使方法行数达到最优、常量与变量如何优雅的定义?
  9. Linux网络编程基础(二)
  10. 神经网络---Hessian矩阵