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;
}
相关推荐
2601_949146531 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
你撅嘴真丑1 小时前
第九章-数字三角形
算法
uesowys1 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
ValhallaCoder1 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
董董灿是个攻城狮1 小时前
AI 视觉连载1:像素
算法
智驱力人工智能2 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
孞㐑¥2 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
月挽清风3 小时前
代码随想录第十五天
数据结构·算法·leetcode
XX風3 小时前
8.1 PFH&&FPFH
图像处理·算法
知南x3 小时前
【Ascend C系列课程(高级)】(1) 算子调试+调优
c语言·开发语言