1. 在逐个读入字符的时候很容易会忽略行末的换行符‘\n’;
2. 循环的条件注意,不要用mystack.size(),通常在循环体里会最push(),pop()等操作,导致出错
3. 在完成一个test case后,千万记得要把容器清空,变量清空,释放动态分配的内存,否则可能出现编译正常而结果出错的情况
4. 涉及字符串string的,用流输入输出比较好;输入输出单个字符可以用putchar(mychar),mychar=getchar();
5. 涉及unordered_map的,要这样引入头文件#include <tr1/unordered_map> | using namespace std; | using namespace std::tr1; | 插入用mymap.insert(make_pair(a,b));
6. 逻辑要清晰,每个变量是代表什么要明确;
7. 在比赛或面试,不要调试,直接输出值做验算;
附:
gdb调试
# std::vector<T> -- via pvector command
# std::list<T> -- via plist command
# std::map<T,T> -- via pmap command
# std::multimap<T,T> -- via pmap command
# std::set<T> -- via pset command
# std::multiset<T> -- via pset command
# std::deque<T> -- via pdequeue command
# std::stack<T> -- via pstack command
# std::queue<T> -- via pqueue command
# std::priority_queue<T> -- via ppqueue command
# std::bitset<n> -- via pbitset command
# std::string -- via pstring command
# std::widestring -- via pwstring command