本文主要是介绍位运算法:字符串 A 和 B 是否为兄弟,是否包含问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
例如:
char *stra = "abc";
char *strb = "bca";
char *strc = "rfdabcgg";
char *strd = "bca";
stra 和 strb 为兄弟字符串
strc 包含 strd
#include <stdio.h>
#include <string.h>int is_brother(char *a , char *b)
{int flag = 0;int i;if (strlen(a) != strlen(b))return 0;for ( i = 0; i< strlen(a); i++ ) {flag |= (1 << (*(a + i) - 'A'));}for ( i = 0; i < strlen(b); i++ ) {if( (flag & (1 << (*(b +i) - 'A'))) == 0)return 0;}return 1;
}
int stringcontain(char *a_long, char *b_short)
{int flag = 0;int i;for ( i = 0; i< strlen(a_long); i++ ) {flag |= (1 << (*(a_long + i) - 'A'));
这篇关于位运算法:字符串 A 和 B 是否为兄弟,是否包含问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!