01/10/2018, 08:18
Code Codefight ReverseParentheses || Not pass hidden tests| Tìm Lỗi Giúp mình
Đề

Và code của mình |
if ((c=='.') || (c==' ')) return 1;
if (c>='a' && c<='z') return 1;
if (c>='A' && c<='Z') return 1;
return 0;
}
void reverseid(string &s,int i,int j) {
int real1=i+1,real2=j-1;
char neu;
while (real1<real2) {
neu=s.at(real1);
s.at(real1)=s.at(real2);
s.at(real2)=neu;
++real1;
--real2;
}
}
void deleteParenthese(string &s) {
for (int i=0;i<s.size();++i)
if (!checkString(s.at(i))) s.erase(i,1);
}
std::string reverseParentheses(std::string s) {
int i=0,j=s.size()-1;
while(i<j) {
while (checkString(s.at(i)) && i<j) {++i;}
while (checkString(s.at(j)) && i<j) {--j;}
if (i<j) reverseid(s,i,j);
++i;
--j;
}
deleteParenthese(s);
return s;
}
Bài liên quan
bài này hidden test của nó là một chuỗi có các ký tự khoảng trắng nhé: (abc(ef) ) thì kết quả phải là ( efcba) . Bạn test case này xem có ra đúng không nhé.