一:题目

二:上码

1:方法一(map解法)

class Solution {public:bool isAnagram(string s, string t) {/**思路:1.分析题意,这个是要判断t中的字符出现次数和s中字符出现的次数相同2.可以用map<char,int>来做*/map<char,int>m1,m2;map<char,int>:: iterator mt1;map<char,int>:: iterator mt2;for(int i = 0; i < s.size(); i++) {m1[s[i]]++;}for(int i = 0; i < t.size(); i++){m2[t[i]]++;}if(m1.size() == m2.size()){int count = 0;for(mt1 = m1.begin(),mt2 = m2.begin(); mt1 != m1.end(),mt2 != m2.end();mt1++,mt2++){if(mt1->second == mt2->second && mt1->first == mt2->first){count++;}}if(count == m1.size()){return true;} }return false;}
};

2:方法二(哈希表 数组)

class Solution {public:bool isAnagram(string s, string t) {/**思路:1.分析题意,这个是要判断t中的字符出现次数和s中字符出现的次数相同2.判断一个元素是否出现过的场景也应该第一时间想到哈希法,本题中我们是来判断t中的元素是否在s中出现过3.这里我们选用一个数组array[26] 来当作哈希表,小写字母[a.z]在数组中的下标范围为[0.25]4.我们先统计s中字符的在array[26]中对应下标出现的个数,然后我们再遍历t中字符在array中出现了就将其下标对应的个数减一,那么最后看看数组最后的每个值是否均为0,如果都为0,那么我们就可以返回true;   */int array[26] = {0};for(int i = 0; i < s.size(); i++){array[s[i] - 'a']++;}for(int j = 0; j < t.size(); j++){array[t[j]-'a']--;}for(int i = 0; i < 26; i++){if(array[i] != 0){return false;}}return true;}
};

leetcode242. 有效的字母异位词(两种方法map或数组)相关推荐

  1. leetcode242. 有效的字母异位词

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

  2. LeetCode242. 有效的字母异位词——C语言

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

  3. 知识点2:js(javascript)中检测是否为数组的两种方法【翻转数组案例】

    javascript基础知识 文章目录 javascript基础知识 前言 一.翻转数组案例 二.检测数组的两种方法 1.如果传输的参数不是数组 2.instanceof 运算符 可以用来检测是否满足 ...

  4. 两种方法求解 正数数组中 两个数相减 的最大值

    一,问题描述 给定一个正数数组arr(即数组元素全是正数),找出该数组中,两个元素相减的最大值,其中被减数的下标不小于减数的下标. 即求出: maxValue = max{arr[j]-arr[i] ...

  5. php数组比对算法,php学习之两种方法使用比较数组差异的array_diff()函数

    本篇文章将简单介绍php比较两个数组的差异array_diff()函数,感兴趣的朋友可以了解一下. php内置函数中有一个array_diff():意思比较两个数组的键值,并返回差集. 下面是通过数组 ...

  6. 有效的字母异位词 四种解法(Python)

    LeetCode链接 排序 时间复杂度 O(NlogN) class Solution:def isAnagram(self, s: str, t: str) -> bool:return le ...

  7. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。(两种方法/每步详解)

    试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来. 小写变大写的实现方法: 1.SUB AL,32 ; 只能满足于输入只是小写的时候 2. AND AL,11011111B ; 该方 ...

  8. js 大小写字母转换的两种方法

    一.使用 charCodeAt() 方法和 fromCharCode() 方法 let letter1 = 'A' let lower_letter = String.fromCharCode(let ...

  9. 小白刷代码随想录day6 -- 242.有效的字母异位词,349.两个数组的交集,202快乐数,1.两数之和

    今天是刷代码随想录的day6.昨天day5元宵节休息日.今天开始了哈希表部分.对于哈希表的内容之前没有怎么学习过,所以今天的刷题主要以学习方法为主.待二刷的时候争取能够手撕代码! 哈希法 首先一个大前 ...

最新文章

  1. 提取series中的数值_Mindfusion教程:WinForms中的实时图表
  2. Android输入法开发
  3. CentOS 6.5源码包安装MySQL
  4. Python:docx模块
  5. Egret IDE中搜索,过滤文件,只搜索.ts
  6. k8s存储卷(empyDir;hostPath;nfs)
  7. 浏览器各个属性的作用
  8. $.ajax 同步一不,ajax 同步不生效
  9. 数据结构--跳表SkipList
  10. 球球大作战显示中国服务器较差,球球大作战延迟卡顿原因分析及解决方法
  11. jeecms v9导入myeclipse 2015 ehcache.xml报错问题
  12. gedit 可以实现的更多功能插件
  13. oracle建库并使用HR范例,Oracle HR样例数据库建立
  14. dubbo+zookeeper项目搭建
  15. 错误 ORA-01102: cannot mount database in EXCLUSIVE mode 的处理方法
  16. nginx源码分析之线程池
  17. 一款非常好看的婚纱请柬设计英文字体
  18. OpenWrt使用IPV6+Aliddns实现远程管理路由
  19. [BZOJ5470][模拟]FJOI2018:所罗门王的宝藏
  20. ilm 和dlm差异_第八章 大数据对象设计与维护

热门文章

  1. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步
  2. Scrapy从理论到爬图
  3. [转]npm生成的package.json文件中依赖项版本号前的波浪号(~)和插入符号(^)是啥意思?
  4. ArcGIS导入Sketchup模型
  5. DateTime.Now.Ticks.ToString()说明
  6. C++中之a[5](栈区)和int a=new int[5](堆区)有什么区别
  7. .bash_profile和.bashrc说明
  8. Android之Android Studio三种方式导入外部资源 以及 报错处理
  9. 《随机过程》布朗运动理论中的两个反常问题
  10. 惊了!哆啦A梦里最能打的道具,居然真实存在!还打破了世界纪录,看完跪了....