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

【leetcode面试经典150题】42. 有效的字母异位词(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C++语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致)

【题目描述】

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

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

【示例一】

输入: s = "anagram", t = "nagaram"
输出: true

【示例二】

输入: s = "rat", t = "car"
输出: false

【提示及数据范围】

  • 1 <= s.length, t.length <= 5 * 10的4次方
  • s 和 t 仅包含小写字母

【代码】

// 方法一:哈希表class Solution {
public:bool isAnagram(string s, string t) {if (s.length() != t.length()) {return false;}vector<int> table(26, 0);for (int i = 0;i<s.size();i++) {table[s[i] - 'a']++;table[t[i] - 'a']--;}for (auto& ch: t) {if (table[ch - 'a'] != 0) {return false;}}return true;}
};// 方法二:排序class Solution {
public:bool isAnagram(string s, string t) {if (s.length() != t.length()) {return false;}sort(s.begin(), s.end());sort(t.begin(), t.end());return s == t;}
};
http://www.lryc.cn/news/336833.html

相关文章:

  • Windows 2003 R2与Windows 2022建立域信任报错:本地安全机构无法跟域控制器获得RPC连接。请检查名称是否可以解析,服务器是否可用。
  • UE5、CesiumForUnreal实现加载建筑轮廓GeoJson数据生成白模功能
  • JavaGUI编程
  • Nginx 基础应用实战 03 基于反向代理的负载均衡、https配置
  • [图解]DDD领域驱动设计伪创新-聚合根02
  • 《QT实用小工具·二十》存款/贷款计算器
  • hbase基础shell用法
  • ElasticSearch 的 BoolQueryBuilder 使用
  • [C++/Linux] 网络I/O处理
  • HarmonyOS4 页面路由
  • ShardingSphere再回首
  • 第七篇:3.6 其他评估考虑/4.审计指南/5. 通用报告规范/6.披露指南、参考标准及其他 - IAB/MRC及《增强现实广告效果测量指南1.0》
  • 函数、指针和数组的相互运用(C语言)
  • .Net Core/.Net 6/.Net 8,一个简易的消息队列
  • OpenHarmony4.0分布式任务调度浅析
  • element-ui backtop 组件源码分享
  • MongoDB快照(LVM)业务场景应用实战
  • 3D开发工具HOOPS:推动汽车行业CAD可视化发展
  • Centos安装MySQL提示公钥尚未安装
  • FebHost:英国.UK域名简介
  • SQL Serve---查询
  • RabbitMQ3.13.x之十一_RabbitMQ中修改用户密码及角色tags
  • Taro打包生成不同目录
  • 2024-04-08 NO.5 Quest3 手势追踪进行 UI 交互
  • PaddleDetection 项目使用说明
  • leetcode解题思路分析(一百五十五)1352 - 1358 题
  • 如何将普通maven项目转为maven-web项目
  • LeetCode 226. 翻转二叉树
  • 【ArcGIS Pro二次开发】(85):Aspose.Cells中的Excel操作
  • 基于java+springboot+vue实现的兴顺物流管理系统(文末源码+Lw)23-287