本文共 1015 字,大约阅读时间需要 3 分钟。
//字符串同素:包含相同的char,以及char出现的次数#include #include #include #include #include #include "boost/smart_ptr.hpp"using namespace std;const int CHAR_NUMBER = 256;//答题的时候,好像写成255了bool get(char* str,int* arr){ if( str == NULL || arr == NULL ) { return false; } memset(arr, 0, sizeof(int) * CHAR_NUMBER); for( int i = 0; i < strlen(str) ; i++ ) { arr[static_cast (str[i])] ++; } return true;}bool is_common(char* str1, char* str2){ assert(str1 != NULL); assert(str2 != NULL); int arr1[CHAR_NUMBER]; int arr2[CHAR_NUMBER]; //考试其实有多余的时间,但是当时没有思考,没有检查 //没有考虑优化,及两个字符串的长度不等时,直接返回false if( strlen(str1) != strlen(str2) ) { return false; } get(str1, arr1); get(str2, arr2); for( int i = 0 ; i < CHAR_NUMBER ; i++ ) { if( arr1[i] != arr2[i] ) { return false; } } return true;}void fourth(){ char* str1 = "fjf"; char* str2 = "ffj"; cout<
转载于:https://www.cnblogs.com/fengjunfeng/archive/2012/05/29/2797780.html