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;
}
相关推荐
用户497863050731 小时前
(一)小红的数组操作
算法·编程语言
怕浪猫4 小时前
Electron 系列文章封面图
算法·架构·前端框架
徐小夕6 小时前
JitWord 3.0 正式发布,高精度Word异构解析+复杂组件兼容,打造web端协同Word编辑器
前端·vue.js·算法
LDR00621 小时前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
通信小呆呆1 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben0441 天前
强化学习之DQN算法族(基于gymnasium开发)
算法
Luminous.1 天前
C语言--day30
c语言·开发语言
玖玥拾1 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
何以解忧,唯有..1 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang