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

一、问题描述

二、解题思路

解法一:

对s1和s2进行sort排序,返回s1是否等于s2;

解法二:

用哈希表分别来记录s1和s2中字符出现的次数,统计完后,判断两个哈希表是否相等;

三、代码实现

解法一:

时间复杂度:T(n)=O(nlogn)

空间复杂度:S(n)=O(1)

cpp 复制代码
class Solution {
public:
    bool CheckPermutation(string s1, string s2) {
        sort(s1.begin(),s1.end());
        sort(s2.begin(),s2.end());
        return s1==s2;
    }
};

解法二:

时间复杂度:T(n)=O(n)

空间复杂度:S(n)=O(n)

cpp 复制代码
class Solution {
public:
    bool CheckPermutation(string s1, string s2) {
        unordered_map<char,int> hash1,hash2;
        for(auto x:s1) hash1[x]++;
        for(auto x:s2) hash2[x]++;
        return hash1==hash2;
    }
};
相关推荐
代码地平线2 分钟前
C++类与对象(中):默认成员函数与日期类实战
c++·笔记·算法
hansang_IR6 分钟前
【题解】可持久化区间仿射区间和(Persistent Range Affine Range Sum)
c++·算法·线段树
XWalnut12 分钟前
LeetCode刷题 day37
java·数据结构·算法·leetcode
Smilecoc21 分钟前
方向导数与梯度
算法
瑞码空间31 分钟前
01背包:动态规划的Hello World
c++·算法·0/1背包问题
鱼子星_1 小时前
【C++】反向迭代器:反向迭代器的底层认识与模拟实现
开发语言·c++·笔记·stl
Wang's Blog1 小时前
AI Agent白手起家63: LangGraph 人机交互——让人类介入 AI 工作流
人工智能·算法·人机交互
爱跳舞的烤冷面1 小时前
自学嵌入式第19天(数据结构篇——栈)
数据结构
郝学胜-神的一滴1 小时前
[简化版 GAMES 104] 现代游戏引擎 05:游戏引擎世界构建核心机制深度解析
c++·程序人生·unity·游戏引擎·计算机图形学·opengl
Darkwanderor1 小时前
C++的流简介和简单使用
开发语言·c++