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;
    }
};
相关推荐
程序员东岸19 小时前
《数据结构——排序(中)》选择与交换的艺术:从直接选择到堆排序的性能跃迁
数据结构·笔记·算法·leetcode·排序算法
程序员-King.19 小时前
day104—对向双指针—接雨水(LeetCode-42)
算法·贪心算法
笨鸟要努力19 小时前
Qt C++ windows 设置系统时间
c++·windows·qt
牢七19 小时前
数据结构11111
数据结构
神仙别闹19 小时前
基于C++实现(控制台)应用递推法完成经典型算法的应用
开发语言·c++·算法
Ayanami_Reii19 小时前
进阶数据结构应用-一个简单的整数问题2(线段树解法)
数据结构·算法·线段树·延迟标记
listhi52020 小时前
基于改进SET的时频分析MATLAB实现
开发语言·算法·matlab
Keep_Trying_Go20 小时前
基于Zero-Shot的目标计数算法详解(Open-world Text-specified Object Counting)
人工智能·pytorch·python·算法·多模态·目标统计
xl.liu21 小时前
零售行业仓库商品数据标记
算法·零售