leetcode 107 Binary Tree Level Order Traversal II
明明标着是easy的题,自己真的太菜了,vector不太明白,看着返回vector<vector<>>函数就不知道怎么办了…所以在这里有些一下关于vector的小知识
Binary Tree Level Order Traversal
- 层次遍历
- 倒序(用vector做的话,可以直接用vector的reverse函数)
我知道思路很简单fine…
代码
some tips:
用递归代码会非常简洁,但问题是什么是:
1.temp.push_back({})?
2.temp.size()?
3.在oj上我一直很好奇的是它怎么把temp这种值输出的,又是怎么把(比如说这道题的层次遍历序列)读入的?所以我在clion上尝试写一个完整的project;
首先什么是push_back({}):我们来看代码:
可以发现其实也就是为vector预留出一层的空间,才能在此空间上push入值。
所以,size()其实也是指b有多少层
输出的话则类似于二维数组进行输出就ok啦
补充:如何用队列实现层次遍历:
main.h:
#include"Tree.h"
string b=“abc##ef”;
Tree tree;
tree.BuildTree_BFS(b);
Tree.cpp:
但现在我还是有个困惑,这个题上的3 5 null 7这种既有int,又有string的序列,应该怎么读入呢?(并且用空格分隔开的input?)我再思考思索一下(太菜了5555)