资讯cms网站有那些,餐饮品牌策划设计公司,可视化在线做网站,做网站红色和什么搭配好【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主#xff0c;题解使用C语言。#xff08;若有使用其他语言的同学也可了解题解思路#xff0c;本质上语法内容一致题解使用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;}vectorint table(26, 0);for (int i 0;is.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;}
};