给定a,b两个长度不一的字符串,a>b,判断b中的每个字符是否都在a中。
bool sc(string &a , string &b) { int have[26] = {0}; for ( int i = 0 ; i < a.size() ;++i) have[a[i]-'A'] = 1 ; for ( int i = 0 ; i < b.size() ;++i) if(have[b[i]-'A'] == 0) return false ; return true ;// a中可出现重复字符 }
bool sc ( string &a , string &b) { bool f1[26] = {false}; bool f2[26] = {false}; bool f = false ; for ( int i = 0 ; i < a.size();++i) f1[a[i]-'A'] = true ; for ( int i = 0 ; i < b.size();++i) f2[b[i]-'A'] = true ; for ( int i = 0 ; i <26 ; ++i) if(f2[i]) { if (f1[i] == f2[i]) f = true ; else { f = false ; break ; } } return f ;///a中可出现重复字符 }
bool sc(string &a ,string &b) { int have[26] = {0} ; int count = 0 ; for ( int i = 0 ; i < b.size(); ++i) if(have[b[i]-'A'] == 0) { have[b[i]-'A'] = 1 ; ++count ; } for ( int i = 0 ; i < a.size(); ++i) if(have[a[i]-'A'] == 1) { --count ; have[b[i]-'A'] == 0 ; } return count == 0 ;//对于a串来说 ,a中不能出现重复的字符。 }