给定两个字符串 order 和 s 。order 的所有单词都是 唯一 的,并且以前按照一些自定义的顺序排序。
对 s 的字符进行置换,使其与排序的 order 相匹配。更具体地说,如果在 order 中的字符 x 出现字符 y 之前,那么在排列后的字符串中, x 也应该出现在 y 之前。
返回 满足这个性质的 s 的任意排列 。
示例 1:
输入: order = "cba", s = "abcd"
输出: "cbad"
解释:
“a”、“b”、“c”是按顺序出现的,所以“a”、“b”、“c”的顺序应该是“c”、“b”、“a”。
因为“d”不是按顺序出现的,所以它可以在返回的字符串中的任何位置。“dcba”、“cdba”、“cbda”也是有效的输出。
示例 2:输入: order = "cbafg", s = "abcd"
输出: "cbad"
提示:
1 <= order.length <= 26
1 <= s.length <= 200
order 和 s 由小写英文字母组成
order 中的所有字符都 不同
- int length(char *str)
- {
- int i=0;
- while(str[i]!='\0')
- {
- i++;
- }
- return i;
- }
- char * customSortString(char * order, char * s){
- int i,j,k=0,flag[200],len_order,len_s;
- len_order=length(order);
- len_s=length(s);
- //char *str=(char*)malloc(sizeof(char)*len_s);
- char str[205];
- printf("%d %d\n",len_order,len_s);
- memset(flag,0,sizeof(flag));
- for(i=0;i
- {
- str[i]='\0';
- }
- for(i=0;i
- {
- for(j=0;j
- {
- if(order[i]==s[j]&&flag[j]==0)
- {
- flag[j]=1;
- str[k]=order[i];
- k++;
- }
- }
- }
-
-
相关阅读:
【Proteus仿真】【STM32单片机】大棚远程监测控制
Java源码分析(一)Integer
第一本Docker书,带你走进微服务架构的奇妙世界!手撕面试官
力扣(LeetCode)792. 匹配子序列的单词数(C++)
Python 中 sys.argv 用法详解
读写分离MySQL
vscode 向下复制当前行(即visual studio 中的Ctrl + D)功能快捷键
CSS技能点--带图标的标题栏
RabbitMQ【直连、主题、扇形交换机实战】
【智能AI相机】基于AI的新型成像和照明技术
-
原文地址:https://blog.csdn.net/qq_59002046/article/details/127838962