【哈希】Leetcode 面试题 01.02. 判定是否互为字符重排

题目讲解

面试题 01.02. 判定是否互为字符重排


算法讲解

直观的想法:我们找到一个字符串的全排列,然后对比当前的排列是否等于另一个字符串。如果两个字符串如果互为排列,所以我们知道两个字符串对应的字符出现的个数相同,那么就可以排列成另一个字符串

细节:如果两个字符串的长度都不相同,那么肯定不能排列成功,直接返回false

cpp 复制代码
class Solution {
public:
    bool CheckPermutation(string s1, string s2) {
        if(s1.size() != s2.size())return false;
        int Hash[26] = {0};
        for(int i = 0; i < s1.size(); i++)
        {
            Hash[s1[i] - 'a']++;
        }
        for(int i = 0; i < s2.size(); i++)
        {
            Hash[s2[i] - 'a']--;
        }
        //判断是否存在负数
        for(int i = 0; i < 26; i++)
        {
            if(Hash[i] != 0)return false;
        }
        return true;
    }
};
相关推荐
AI成长日志33 分钟前
【笔面试算法学习专栏】哈希表基础:两数之和与字母异位词分组
学习·算法·面试
abant244 分钟前
leetcode 239 单调队列 需要一些记忆
算法·leetcode·职场和发展
漫霂1 小时前
二叉树的统一迭代遍历
java·算法
炽烈小老头1 小时前
【每天学习一点算法 2026/04/08】阶乘后的零
学习·算法
Mr_Xuhhh1 小时前
算法刷题笔记:从滑动窗口到哈夫曼编码,我的算法进阶之路
开发语言·算法
MicroTech20251 小时前
突破虚时演化非酉限制:MLGO微算法科技发布可在现有量子计算机运行的变分量子模拟技术
科技·算法·量子计算
hssfscv1 小时前
软件设计师下午题六——Java的各种设计模式
java·算法·设计模式
珂朵莉MM1 小时前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第3赛季优化题--多策略混合算法
人工智能·算法
罗西的思考1 小时前
【OpenClaw】通过 Nanobot 源码学习架构---(6)Skills
人工智能·深度学习·算法
枫叶林FYL2 小时前
【自然语言处理 NLP】7.2 红队测试与对抗鲁棒性(Red Teaming & Adversarial Robustness)
人工智能·算法·机器学习