В настоящее время я изучаю C ++, но у меня возникают проблемы с рекурсией. Проблема заключается в том, чтобы go через строку и возвращать только операторы внутри нее: т.е. '(' или '[' или '{' или ')' или '}' или ']'. К сожалению, моя программа продолжает возвращать пустую строку. Любая помощь будет оценена.
#include <string>
string operatorsOnly(string s) {
if (s.length() == 0) {
return "";
}
if (s[0] != '(' or '[' or '{' or ')' or '}' or ']') {
return operatorsOnly(s.substr(1, s.length() - 1));
}
else {
return s[0] + operatorsOnly(s.substr(1, s.length() - 1));
}
}