只有一个域名怎么建设网站东莞网络推广优化排名
原题链接:102. 二叉树的层序遍历
以下代码为模板,需要层序遍历时都可以使用该模板进行代码更改
全代码:
class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {//创建一个TreeNode* 队列用于存储树中的每层结点元素queue<TreeNode*> que;//如果树不为空,则将树以及树的全部结点push进que中if(root != NULL) que.push(root);//创建二维容器用于存放层序遍历的值vector<vector<int>> result;while(!que.empty()){//记录下当前层中有多少个结点元素int size = que.size();//创建容器用于存放当前层所有结点的值vector<int> vec;for(int i = 0; i < size;i++){//用于遍历队列内存储的结点元素//存储队列头元素TreeNode* node = que.front();//将头元素弹出que.pop();//将头元素的值push到vec内vec.push_back(node ->val);//将子树的左右结点push进队列内,以下次备用if(node ->left) que.push(node ->left);if(node ->right) que.push(node ->right);}result.push_back(vec);}return result;}
};