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;
}
Nguyễn Duy Hùng viết 10:23 ngày 01/10/2018

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é.

Bài liên quan
0