Day33~实现一个算法来识别一个字符串。

实现一个算法来识别一个字符串str2是另一个字符串str1的排列。排列的解释如下:如果将str1的字符拆分开,重新排列后再拼接起来,能够得到str2,那么就说字符串str2是字符串str1的排列。(不忽略大小写)如果str2字符串是str1字符串的排列,则输出 YES;如果str2字符串不是str1字符串的排列,则输出NO。

cpp 复制代码
#include <stdio.h>
#include <string.h>

#define MAX_SIZE 100

void judge_str(char *str1, char *str2)
{
    int str1_len = strlen(str1);
    int str2_len = strlen(str2);

    // 将str1进行排序
    for (int i = 0; i < str1_len; i++)
    {
        for (int j = 0; j < str1_len - 1 - i; j++)
        {
            if (str1[j] > str1[j + 1])
            {
                int temp = str1[j];
                str1[j] = str1[j + 1];
                str1[j + 1] = temp;
            }
        }
    }

    // 将str2进行排序
    for (int i = 0; i < str2_len; i++)
    {
        for (int j = 0; j < str2_len - 1 - i; j++)
        {
            if (str2[j] > str2[j + 1])
            {
                int temp = str2[j];
                str2[j] = str2[j + 1];
                str2[j + 1] = temp;
            }
        }
    }

    // 将str1和str2进行比较
    if (strcmp(str1, str2) == 0)
    {
        printf("YES\n");
    }
    else
    {
        printf("NO\n");
    }
}

int main()
{
    char str1[MAX_SIZE] = {0};
    char str2[MAX_SIZE] = {0};

    scanf("%s", str1);
    scanf("%s", str2);

    judge_str(str1, str2);

    return 0;
}
相关推荐
Merlos_wind8 小时前
HashMap详解
算法·哈希算法·散列表
汉克老师8 小时前
GESP2025年3月认证C++五级( 第三部分编程题(1、平均分配))
c++·算法·贪心算法·排序·gesp5级·gesp五级
Yzzz-F11 小时前
Problem - 2205D - Codeforces
算法
老花眼猫11 小时前
编制椭圆旋转绘图函数
c语言·经验分享·青少年编程·课程设计
智者知已应修善业11 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
Halo_tjn11 小时前
Java Set集合相关知识点
java·开发语言·算法
生成论实验室12 小时前
《事件关系阴阳博弈动力学:识势应势之道》第四篇:降U动力学——认知确定度的自驱演化
人工智能·科技·神经网络·算法·架构
AI科技星12 小时前
全域数学·72分册:场计算机卷【乖乖数学】
算法·机器学习·数学建模·数据挖掘·量子计算
科研前沿13 小时前
镜像孪生VS视频孪生核心技术产品核心优势
大数据·人工智能·算法·重构·空间计算
水蓝烟雨13 小时前
1931. 用三种不同颜色为网格涂色
算法·leetcode