102 二叉树的层序遍历
这个题目和书上不一样的地方就是不同的层的放在一个vector中,每层可以区分开。于是,我们可以定义一个count,用来计算每一层的结点数。
用队列来存放树的结点。
C++代码:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };*/
classSolution {public:
vector> levelOrder(TreeNode*root) {
vector>v1;if(root==NULL){//首先判断根节点是否为空returnv1;
}
queueq;
q.push(root);while(!q.empty()){int count =q.size();//当下面的循环结束一次,此时queue中的所有结点刚好是下一层的是所有结点,计算数量。
vectorv;while(count > 0){//这个循环完,就相当于一层结束。
TreeNode* cur