class Solution {
public:
bool Is_nice(string s)
{
int flag = 0;
for(int i = 0; i < s.size(); i++){
for(int j = 0; j < s.size(); j++){
if(isupper(s[i])){
if(tolower(s[i]) == s[j]){
flag = 1;
break;
}
}else{
if(toupper(s[i]) == s[j]){
flag = 1;
break;
}
}
}
if(flag==0)
return false;
flag = 0;
}
return true;
}
string longestNiceSubstring(string s) {
vector<string> sub_str;
for(int i = 0; i < s.size(); i++){
for(int j = 2; j <= s.size()-i; j++){
sub_str.push_back(s.substr(i, j));
}
}
int max_len = 0;
string tem_str = "";
for(auto it = sub_str.begin(); it != sub_str.end(); it++){
if(Is_nice(*it)){
if((*it).size() > max_len){
tem_str = *it;
max_len = (*it).size();
}
}
}
return tem_str;
}
};