好多人认为会读到'\n',但是我最开始写的判断是否合法的函数也是全WA的,如下:
bool isVaildChar(char c) {
return c != ' ' && c != '\n';
}
所以应该不是读到'\n'的问题,我猜测可能是因为每行最末尾有特殊字符。
有些同志遍历字符串的时候是从0 ~ size() - 1
但是为了防止出现意外,推荐用手动枚举方式进行判断:
bool isVaildChar(char c) {
if (c >= '0' && c <= '9') return true;
switch (c) {
case '+': case '-':
case '(': case ')':
case '*': case '/':
case '=': case '%':
case 'C': case 'M':
case '.':
return true;
}
return false;
}
用这个函数来判断是否为合法字符,如果不是就continue,就可以AC啦