首页 > 其他分享 >之子形打印二叉树

之子形打印二叉树

时间:2023-03-31 09:34:34浏览次数:30  
标签:tmp level res 打印 之子形 二叉树 push root size

class Solution {
public:
    vector<vector<int>> res;
    void bfs(TreeNode* root)
    {
        queue<TreeNode*> q;
        q.push(root);
        int level=0;
        while(q.size ())
        {
            int size=q.size();
            vector<int> tmp;
            while(size--)
            {
                auto p=q.front();
                q.pop();
                tmp.push_back(p->val);
                if(p->left) q.push(p->left);
                if(p->right) q.push(p->right);
            }
            if(level&1) reverse(tmp.begin(),tmp.end());
            level++;
            res.push_back(tmp);
        }
    }
    vector<vector<int>> printFromTopToBottom(TreeNode* root) {
        if(!root)   return res;
        bfs(root);
        return res;
    }
};

标签:tmp,level,res,打印,之子形,二叉树,push,root,size
From: https://www.cnblogs.com/tangxibomb/p/17275183.html

相关文章

  • 不分行从上往下打印二叉树
    classSolution{public:vector<int>res;voidbfs(TreeNode*root){queue<TreeNode*>q;q.push(root);while(q.size()){autop=q.front();q.pop();res.push_back(......
  • 上下翻转二叉树
    给定一个二叉树的根节点root,按照如下的方式上下翻转二叉树,并返回新的根节点。1、原来的左子节点变成新的根节点2、原来的根节点变成新的右子节点3、原来的右子节点变成新的左子节点上面的步骤都是逐层进行的,题目数据保证每个右节点都有一个同级节点(共享同一个父节点的左......
  • JZ7 重建二叉树
     JZ7 重建二叉树方法一:递归做法前序的第一个结点就是根节点,而后在中序中将根节点的位置找出,根节点的左边是左子树,右边是右子树,而后再带入前序中分析,形成迭代。/***Definitionforbinarytree*structTreeNode{*intval;*TreeNode*left;*Tree......
  • LeetCode 559.二叉树的最大深度
    1.题目:给定一个N叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。N叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。示例1:输入:root=[1,null,3,2,4,null,5,6]输出:3来源:力扣(LeetCode)链接:https://leetcode.cn/problems/maximum......
  • LeetCode 222.完全二叉树的结点个数
    1.题目:给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第h层,则该层包含1~ 2h 个节点。示例1:输入:root=[1......
  • C++创建虚拟打印机
    最近有个需求需要对报告打印进行统一的管理,最终实现方案如下:1、安装MicrosoftPrintToPDF虚拟打印机,该打印机可以将所有打印数据转换为PDF2、通过MicrosoftPrintToP......
  • 两个线程交替打印 0~100 的奇偶数
     importthreadingclassPrintThread(threading.Thread):def__init__(self,start_num,step,max_num):super(PrintThread,self).__init__()......
  • 08. 二叉树
    一、二叉树的定义  二叉树(T)是一个有穷的结点集合,这个集合可以为空,若不为空,则它是由根节点和称为其左子树\(T_{L}\)和右子树\(T_{R}\)的两个不相交的二叉树组成......
  • 树:剑指 Offer 07. 重建二叉树
    题目描述:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例1: Input:pre......
  • windows10 安装 统信虚拟机 调试证卡打印机
    注意:   1 不能识别USB设备  服务VMwareUSBArbitrationService要开启   2USB兼容性选择3.1      3 usb.restrictions.defaultallow......