网站iis配置,装潢设计图片三室一厅,宽屏企业网站源码,阿里能帮做网站吗二叉树的遍历 二叉树常见的遍历方式有层序遍历#xff0c;前序遍历#xff0c;中序遍历#xff0c;后序遍历 层序遍历 从顶部到底部#xff0c;逐层进行遍历#xff0c;且每一层按照从左到右的顺序遍历 层序遍历本质上是广度优先遍历(BFS) 代码实现 广度优先遍历一般使用队…二叉树的遍历 二叉树常见的遍历方式有层序遍历前序遍历中序遍历后序遍历 层序遍历 从顶部到底部逐层进行遍历且每一层按照从左到右的顺序遍历 层序遍历本质上是广度优先遍历(BFS) 代码实现 广度优先遍历一般使用队列来实现 /* 层序遍历 */
vectorint levelOrder(TreeNode *root) {// 初始化队列加入根节点queueTreeNode * queue;queue.push(root);// 初始化一个列表用于保存遍历序列vectorint vec;while (!queue.empty()) {TreeNode *node queue.front();queue.pop(); // 队列出队vec.push_back(node-val); // 保存节点值if (node-left ! nullptr)queue.push(node-left); // 左子节点入队if (node-right ! nullptr)queue.push(node-right); // 右子节点入队}return vec;
}//递归思想
/* 前序遍历 */
void preOrder(TreeNode *root) {if (root nullptr)return;// 访问优先级根节点 - 左子树 - 右子树vec.push_back(root-val);preOrder(root-left);preOrder(root-right);
}/* 中序遍历 */
void inOrder(TreeNode *root) {if (root nullptr)return;// 访问优先级左子树 - 根节点 - 右子树inOrder(root-left);vec.push_back(root-val);inOrder(root-right);
}/* 后序遍历 */
void postOrder(TreeNode *root) {if (root nullptr)return;// 访问优先级左子树 - 右子树 - 根节点postOrder(root-left);postOrder(root-right);vec.push_back(root-val);
}