网站什么时候做负载均衡,传媒公司排行榜,大连网站制作机构,汉化WORDPRESS聊天软件目录 定义
层序遍历的数据结构
实现过程简述
具体代码 定义
层序遍历就是从左到右一层一层地遍历二叉树。
层序遍历的数据结构
层序遍历需要借用一个辅助数据结构实现#xff0c;由于队列具有先进先出的特性#xff0c;符合一层一层遍历的逻辑#xff0c;而栈先进后出…目录 定义
层序遍历的数据结构
实现过程简述
具体代码 定义
层序遍历就是从左到右一层一层地遍历二叉树。
层序遍历的数据结构
层序遍历需要借用一个辅助数据结构实现由于队列具有先进先出的特性符合一层一层遍历的逻辑而栈先进后出更适合模拟深度优先遍历递归。
实现过程简述
首先如果根节点不为空就将根节点放入队列里。然后设置循环循环结束条件为队列为空这样就可以保证遍历完二叉树中的每一个节点。循环体里记录每层的节点数量并设置一个节点指针保存队列首元素以便后续使用将首元素的值放入一个一维数组中然后弹出首元素。使用节点指针将该节点的左子节点和右子节点放入队列。一层结束将一维数组push进结果数组二维数组里。遍历完毕返回结果数组。
具体代码
class Solution {
public:vectorvectorint levelOrder(TreeNode* root) {queueTreeNode* que;vectorvectorint result;if(root ! nullptr) que.push(root);while(!que.empty()) {int size que.size();vectorint vec;while(size--) {TreeNode* node que.front();que.pop();vec.push_back(node-val);if(node-left) que.push(node-left);if(node-right) que.push(node-right);}result.push_back(vec);} return result;}
};