LeetCode 299. 猜数字游戏
Posted 规格严格
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 299. 猜数字游戏相关的知识,希望对你有一定的参考价值。
先将两个字符串位置相同且大小相等的数字全都换成字母‘x’,(为什么要先剔除大小相等的呢,例如例子 01123,11100 )在用哈希表收集secret中每个字母的个数,遍历guess字符串,若发现guess的数字在secret中存在,那么肯定是位置不同的了(因为位置相同且大小相等的已经换成‘x‘了,将B自增以下,并且把哈希表中该字母的个数自减一下),如此一来,便统计除了A和B的数目。
要学会使用sprintf 等字符串与字母相互转换的函数。
C代码如下:
char * getHint(char * secret, char * guess){ int a=0; int b=0; int h[150]; char *s1=(char*)malloc(sizeof(char)*10); char *s2=(char*)malloc(sizeof(char)*10); for (int i=0;i<150;i++) h[i]=0; for(int i=0;guess[i]!=‘