当前位置: 首页 > news >正文

leetcode242. 有效的字母异位词

题目:leetcode242. 有效的字母异位词

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

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

示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true

示例 2:
输入: s = “rat”, t = “car”
输出: false

思路:
对于这道题,做一个哈希表来解决是最好的,暴力破解的时间复杂度太高。
首先题目其实是让我们判断字符串s和字符串t是否是同一个字符串的不一样的顺序,也就是s字符串打乱顺序之后是否可以成为t。
明白了题目要求之后我们就可以做了,首先题目说了可以假定都是小写字母,那么字母数量就是26个(如果有大写有小写,那我们就要设置52个字母数量),设置一个26个空间的整型数组来记录这个字符串当中出现的字母,遍历第一个字符串,每个字母-'a’就得到了一个0到25的数字大小,对应数组的下标,最后对应的数组下标的位置做加一操作。
对于第二个字符串也是一样的求出对应数组的下标,但是做的是减一操作。
做完上述操作之后,检查哈希数组每个位置是否都是0,如果是则符合规定,如果不是返回false。

代码:

 class Solution {public boolean isAnagram(String s, String t) {int[] hashTable=new int[26]; //26个空间大小来保存26个字母的情况for(int i=0;i<s.length();i++)hashTable[s.charAt(i)-'a']++;for(int i=0;i<t.length();i++)hashTable[t.charAt(i)-'a']--;for(int i:hashTable)if(i!=0)return false;return true;}
}
http://www.lryc.cn/news/120808.html

相关文章:

  • Unity 编辑器资源导入处理函数 OnPostprocessAudio :深入解析与实用案例
  • uniapp开发(由浅到深)
  • QT-基于Buildroot构建系统镜像下实现QT开发
  • 优雅地处理RabbitMQ中的消息丢失
  • Vim入门教程vimtutor1.7总结
  • Stephen Wolfram:让 ChatGPT 真正起作用的是什么?
  • CTF-Flask-Jinja2(持续更新)
  • linux文件I/O之 fcntl() 函数用法:设置文件的 flags、设置文件锁(记录锁)
  • 黑马项目一完结后阶段面试45题 JavaSE基础部分20题(一)
  • (一)创建型设计模式:3、建造者模式(Builder Pattern)
  • 指针进阶大冒险:解锁C语言中的奇妙世界!
  • 2.0 Maven基础
  • 在Linux虚拟机内配置nginx以及docker
  • 数据结构-带头双向循环链表的实现
  • android Ndk Jni动态注册方式以及静态注册
  • MySQL中的索引
  • idea中如何处理飘红提示
  • Elasticsearch使用中出现的错误
  • 【IMX6ULL驱动开发学习】01.编写第一个hello驱动+自动创建设备节点(不涉及硬件操作)
  • 决策规划仿真平台搭建
  • 计算图像哈希SHA-512
  • Android之消除APP图标的白色边框
  • java线程的优先级、守护线程的概念
  • asp.net core 6.0 efcore +sqlserver增删改查的demo
  • HC32L110B6芯片测试
  • 关于我乱删注册表导致电脑没有声音这件事
  • Linux 命令 su 和 sudo 的区别
  • 微信小程序:Mobx的使用指南
  • 【Spring Boot】Spring Boot项目的创建和文件配置
  • Spring Cloud 智慧工地源码(PC端+移动端)项目平台、监管平台、大数据平台