博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【面试题】:兄弟字符串
阅读量:3707 次
发布时间:2019-05-21

本文共 796 字,大约阅读时间需要 2 分钟。

问题

如果两个字符串的字符一样,但是顺序不一样,被认为是兄弟字符串,问如何在迅速匹配兄弟字符串?

解法

思路一:

很简单,就是把两个字符串排序,我这里通过是C++的系统自带的排序函数,然后排序完都相同则证明是兄弟字符串

思路二:

要知道,每个字符都有着自己的ASCII码,我通过把字符对应的那个ASCII码值矩阵的值增加,然后判断字符出现了几次,如果两个字符串的ASCII码值矩阵都相同,则判断是兄弟字符串。

下面给出两种代码:

代码1

#include 
#include
using namespace std;int main(){ char s1[20],s2[20]; cin>>s1>>s2; sort(s1,s1+strlen(s1)); //排序 sort(s2,s2+strlen(s2)); //排序 if(strcmp(s1,s2)==0) cout<<"yes"<

代码2(需要仔细瞅瞅)

#include 
using namespace std;int res1[256],res2[256]; //两个ASCII码值矩阵int main(){ memset(res1,0,sizeof(res1)); //全部置0 memset(res2,0,sizeof(res2)); //全部置0 char s1[50],s2[50]; cin>>s1>>s2; if(strlen(s1)==strlen(s2)){ for(int i=0;i

关于结果

两个代码都已经测试通过,为兄弟字符串输出yes,否则输出no

给出运行截图,都一样,所以只给一个了 = =

这里写图片描述

hope you happy everyday = =

seen

你可能感兴趣的文章
小明植树
查看>>
8.2 可编程并行接口芯片8255A
查看>>
户户通---Java蓝桥杯
查看>>
历年数学建模大赛优秀论文解读
查看>>
最优化模型
查看>>
范式题
查看>>
80X86指令系统(1)
查看>>
80X86指令系统(2)---数据传送指令
查看>>
数学模型常用方法
查看>>
图的应用-----关键路径
查看>>
两数组交集
查看>>
python爬取LOL英雄皮肤
查看>>
阿里云轻量应用服务器wordpress升级php步骤
查看>>
Hexo博客主题美化之valine
查看>>
Hexo博客Ayer主题美化之随机封面
查看>>
博客中能用到的代码(二)
查看>>
博客中能用到的代码
查看>>
打字机效果-type-js
查看>>
解决github头像加载不出来
查看>>
在linux上安装python3-7
查看>>