基于visual Studio2013解决面试题之1009兄弟字符串
题目
解决代码及点评
/* 匹配兄弟字符串,字符串内容一样,但是顺序不一样,称之为兄弟字符串 */ #include <iostream> using namespace std; int isBroStr(char *str1, char *str2) { // 整个数组,一个字符串对整个数组累加,一个字符串对这个数组累-,最后这个数组应该是0 int a[26 * 2] = { 0 }; int i, strLen; if (!str1 && !str2) //都是空串,则返回真 return 1; else if (!str1 || !str2) // 有一个是空串,返回假 return 0; else { // 这里作累加和累减 if (strlen(str1) != strlen(str2)) return 0; strLen = strlen(str1); for (i = 0; i < strLen; i++) { ++a[str1[i] - 'A']; --a[str2[i] - 'A']; } for (i = 0; i < 26 * 2; i++) if (a[i]) return 0; return 1; } } int main() { char *str1 = "asdfaabAAB"; char *str2 = "asdfAABaab"; if (isBroStr(str1, str2)) cout << " String 1 and String 2 are brothers!" << endl; else cout << " String 1 and String 2 are not brothers!" << endl; system("PAUSE"); return 0; }
代码下载及其运行
代码下载地址:http://download.csdn.net/detail/yincheng01/6704519
解压密码:c.itcast.cn
下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:
1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”
2)在下拉框中选择相应项目,项目名和博客编号一致
3)点击“本地Windows调试器”运行
程序运行结果