一、题目说明

242. 有效的字母异位词 - 力扣(LeetCode) (leetcode-cn.com)

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true
示例 2: 输入: s = “rat”, t = “car” 输出: false
说明: 你可以假设字符串只包含小写字母。

二、思路及题解

1.思路:

​ 本题字符串只包含小写字母,所以可以创建一个大小为26的哈希表,记录字符串s,t中字符出现的次数,先遍历字符串s,在出现字符的位置上加1,再遍历字符串t,在出现字符的位置上-1,若遍历结束后哈希表为空,则表示两个字符串是字母异位词

s[i]-‘a’ 可以计算出字母相对于’a’的位置,并且不需要记住a的ASCII值

2.代码

class Solution{public:bool isAnagram(string s, string t){int record[26] = {0};for (int i = 0; i < s.size(); i++){// 在元素对应位置+1record[s[i] - 'a']++;}for (int i = 0; i < t.size(); i++){// 在元素对应位置-1record[t[i] - 'a']--;}for (int i = 0; i < 26; i++){if (record[i] != 0){return false;}}return true;}
};

3.本地调试代码

#include <iostream>
using namespace std;class Solution{public:bool isAnagram(string s, string t){int record[26] = {0};for (int i = 0; i < s.size(); i++){record[s[i] - 'a']++;}for (int i = 0; i < t.size(); i++){record[t[i] - 'a']--;}for (int i = 0; i < 26; i++){if (record[i] != 0){return false;}}return true;}
};int main(){string s;string t;cout << "请输入字符串s:";cin >> s;cout << "请输入字符串t:";cin >> t;Solution solution;bool b = solution.isAnagram(s, t);if (b){cout << "true" << endl;}else{cout << "false" << endl;}system("pause");return 0;
}

leetcode算法题-有效字母的异位词-C++相关推荐

  1. leetcode 算法题849 (简单240) 仅仅反转字母

    leetcode 算法题849 (简单240) 仅仅反转字母 题目介绍 给定一个字符串 S, 返回 "反转后的" 字符串, 其中不是字母的字符都保留在原地, 而所有字母的位置发生反 ...

  2. LeetCode算法题-Goat Latin Easy(Java实现)

    这是悦乐书的第322次更新,第344篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第192题(顺位题号是824).给出句子S,由空格分隔的单词组成.每个单词仅由小写和大写 ...

  3. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)

    这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...

  4. LeetCode算法题-Jewels and Stones(Java实现)

    这是悦乐书的第313次更新,第334篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第182题(顺位题号是771).字符串J代表珠宝,S代表你拥有的石头.S中的每个字符都是 ...

  5. LeetCode算法题-Detect Capital(Java实现)

    这是悦乐书的第251次更新,第264篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第118题(顺位题号是520).给定一个单词,你需要判断其中大写字母的使用是否正确.当下 ...

  6. LeetCode算法题-Nth Digit(Java实现)

    这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...

  7. LeetCode算法题-Reverse Linked List(Java实现)

    这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...

  8. leetcode算法题--零钱兑换

    原题链接:https://leetcode-cn.com/problems/coin-change/ 相关题目:leetcode算法题–完全平方数★ 动态规划 dp[i] i从0到amount,dp[ ...

  9. leetcode算法题-- 买卖股票的最佳时机

    原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 这类股票题目请见leetcode算法题–最佳买卖股票时机含 ...

最新文章

  1. 一加6升级android p,一加6手机升级安卓P攻略 教你怎么更新安卓P Beta版
  2. docker 导入导出镜像
  3. reverse函数:反转容器内容
  4. 视频:我是设计师高清完整版Plus拍摄花絮
  5. 阿里春招Android面经
  6. linux中swap的权限,有关 Linux Swap
  7. CAD/CAM编程排料软件提高钣金制造业竞争力
  8. 游戏帧数对比测试监控软件,8款游戏帧数对比实测 5800X多数超越11900K
  9. Django系列16-员工管理系统实战--echar图表统计
  10. Wireshark 301: Spying on what people are downloading (Part 1 of 2)
  11. 瞅瞅Levels.fyi发布的2020年度程序员收入报告
  12. CBA公布对北京首钢处罚结果 相关工作人员遭重罚
  13. c++图的创建_如何在photoshop中创建汉堡菜单模板
  14. 服务评价器连接计算机后无法启动,四键评价器服务端+客户端(附驱动)
  15. 试卷代号:4022 2021年春季学期期末统一考试金融风险概论 试题(开卷)
  16. 海思AI芯片(Hi3519A/3559A)方案学习(三)Ubuntu18.0.4上编译Hi3519AV100 uboot和kernel
  17. Hdu 2036 改革春风吹满地
  18. java 免费发送手机短信功能
  19. 铝电解电容器的主要参数----唯样商城
  20. http://www.microsoft.com/zh-cn/download/details.aspx?id=28358 silverlight tool 工具下载地址

热门文章

  1. jeecgBoot后台管理的在线表单的使用
  2. 零点漂移 时间戳拦截器
  3. 案例:逻辑回归预测良恶性乳腺癌肿瘤
  4. MySQL之jdbc以及shell链接
  5. 0503定积分的换元法和分部积分法-定积分-高等数学
  6. PCB板厂工厂常用的英文
  7. 如何提升网页加载性能
  8. 兔子随笔:留学还得趁年轻
  9. “未来可期,遇见更好的自己儿童成长小组”第二节活动
  10. 一分钟经理的三个诀窍