如何做中英文切换的双语网站,wordpress分配管理员,品牌注册怎么注册,展厅设计图效果图大全问题描述#xff1a; 给定两个字符串 s 和 t #xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s “anagram”, t “nagaram” 输出: true 示例 2:
输入: s “rat”, t “car” 输出: false 说明: 你可以假设字符串只包含小写字母。
进阶: 如…问题描述 给定两个字符串 s 和 t 编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s “anagram”, t “nagaram” 输出: true 示例 2:
输入: s “rat”, t “car” 输出: false 说明: 你可以假设字符串只包含小写字母。
进阶: 如果输入字符串包含 unicode 字符怎么办你能否调整你的解法来应对这种情况
方法一 使用map哈希表来解决
class Solution {
public:bool isAnagram(string s, string t) {if(s.size()!t.size())return false;mapchar, int mymap;for(char c:s){mymap[c];}for (char a:t){if(--mymap[a]-1)return false;}return true;}
};方法二 使用 sort()对string 进行排序后比较即可。
class Solution {
public:bool isAnagram(string s, string t) {sort(s.begin(), s.end());sort(t.begin(), t.end());if(st)return true;elsereturn false;}
};方法三其实和方法一基本一样只不过是自己来实现哈希表
class Solution {
public:bool isAnagram(string s, string t) {int alphabet[26]{0};for(auto x:s){alphabet[x - a];}for(auto y:t){alphabet[y - a]--;}for (int i 0; i 26;i){if(alphabet[i]!0)return false;}return true;}
};