【哈希】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;
    }
};
相关推荐
chao1898444 分钟前
MATLAB与HFSS联合仿真
算法
月明长歌10 分钟前
【码道初阶】牛客TSINGK110:二叉树遍历(较难)如何根据“扩展先序遍历”构建二叉树?
java·数据结构·算法
jqrbcts12 分钟前
关于发那科机器人视觉补偿报警设置
人工智能·算法
_Li.16 分钟前
机器学习-线性判别函数
人工智能·算法·机器学习
蒲小英16 分钟前
算法-栈与队列
算法
代码游侠35 分钟前
学习笔记——IPC(进程间通信)
linux·运维·网络·笔记·学习·算法
Nick_zcy1 小时前
基于Vue和Python的羽毛球拍智能推荐系统, 从“不会选羽毛球拍”到“选对拍”的一站式小工具
前端·vue.js·python·算法·推荐算法
风筝在晴天搁浅1 小时前
hot100 438.找到字符串中所有字母异位词
算法
zmzb01031 小时前
C++课后习题训练记录Day53
数据结构·c++·算法
老黄编程1 小时前
视觉SLAM十四讲解读-(v2.p84)李代数求导
算法·slam·李群李代数·视觉slam十四讲