思路:
与Binary Tree Level Order Traversal I 几乎一样。只是最后将结果存放在栈里,然后在栈里再传给向量即可。
再次总结思路:
两个queue,先把第一个放进q1,循环q1是否为空,不为空就读取并出列,如果root有孩子就放入q2,最后清空q2。
注意:
for循环的时候不要使用vector.size()这类作为最大值判断,由于vector的size可能不断的减小,这回导致遍历不完的情况发生。
即:
int count = sret.size();
for(int i = ;i< count;i++)
{
ret.push_back(sret.top());
sret.pop();
}