leetcode算法题-有效字母的异位词-C++
一、题目说明
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++相关推荐
- leetcode 算法题849 (简单240) 仅仅反转字母
leetcode 算法题849 (简单240) 仅仅反转字母 题目介绍 给定一个字符串 S, 返回 "反转后的" 字符串, 其中不是字母的字符都保留在原地, 而所有字母的位置发生反 ...
- LeetCode算法题-Goat Latin Easy(Java实现)
这是悦乐书的第322次更新,第344篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第192题(顺位题号是824).给出句子S,由空格分隔的单词组成.每个单词仅由小写和大写 ...
- LeetCode算法题-Convert a Number to Hexadecimal(Java实现)
这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...
- LeetCode算法题-Jewels and Stones(Java实现)
这是悦乐书的第313次更新,第334篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第182题(顺位题号是771).字符串J代表珠宝,S代表你拥有的石头.S中的每个字符都是 ...
- LeetCode算法题-Detect Capital(Java实现)
这是悦乐书的第251次更新,第264篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第118题(顺位题号是520).给定一个单词,你需要判断其中大写字母的使用是否正确.当下 ...
- LeetCode算法题-Nth Digit(Java实现)
这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...
- LeetCode算法题-Reverse Linked List(Java实现)
这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...
- leetcode算法题--零钱兑换
原题链接:https://leetcode-cn.com/problems/coin-change/ 相关题目:leetcode算法题–完全平方数★ 动态规划 dp[i] i从0到amount,dp[ ...
- leetcode算法题-- 买卖股票的最佳时机
原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 这类股票题目请见leetcode算法题–最佳买卖股票时机含 ...
最新文章
- 一加6升级android p,一加6手机升级安卓P攻略 教你怎么更新安卓P Beta版
- docker 导入导出镜像
- reverse函数:反转容器内容
- 视频:我是设计师高清完整版Plus拍摄花絮
- 阿里春招Android面经
- linux中swap的权限,有关 Linux Swap
- CAD/CAM编程排料软件提高钣金制造业竞争力
- 游戏帧数对比测试监控软件,8款游戏帧数对比实测 5800X多数超越11900K
- Django系列16-员工管理系统实战--echar图表统计
- Wireshark 301: Spying on what people are downloading (Part 1 of 2)
- 瞅瞅Levels.fyi发布的2020年度程序员收入报告
- CBA公布对北京首钢处罚结果 相关工作人员遭重罚
- c++图的创建_如何在photoshop中创建汉堡菜单模板
- 服务评价器连接计算机后无法启动,四键评价器服务端+客户端(附驱动)
- 试卷代号:4022 2021年春季学期期末统一考试金融风险概论 试题(开卷)
- 海思AI芯片(Hi3519A/3559A)方案学习(三)Ubuntu18.0.4上编译Hi3519AV100 uboot和kernel
- Hdu 2036 改革春风吹满地
- java 免费发送手机短信功能
- 铝电解电容器的主要参数----唯样商城
- http://www.microsoft.com/zh-cn/download/details.aspx?id=28358 silverlight tool 工具下载地址