剑指Offer刷题(把二叉树打印成多行)_不周山的葫芦的博客-程序员宝宝

技术标签: C++  剑指Offer  

剑指Offer刷题(把二叉树打印成多行)

一.题目描述

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

二.代码(C++)

/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};
*/
class Solution {
    
public:
    vector<vector<int> > Print(TreeNode* pRoot) 
    {
    
        vector<vector<int> > v;
        if(!pRoot)
            return v;
        queue<TreeNode*> dq;
        dq.push(pRoot);
        while(!dq.empty())
        {
    
            vector<int> tmp;
            int n=dq.size();
            for(int i=0;i<n;i++)
            {
    
                TreeNode* tp=dq.front();
                dq.pop();
                tmp.push_back(tp->val);
                if(tp->left)
                    dq.push(tp->left);
                if(tp->right)
                    dq.push(tp->right);
            }
            v.push_back(tmp);
        }
        return v;
    }
};

三.提交记录

在这里插入图片描述

四.备注

层次遍历,每层的节点保存在一个队列中。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Umbraner/article/details/107084093

智能推荐

成为视频分析专家:自动生成视频集锦(Python实现)_磐创 AI的博客-程序员宝宝

介绍我是个超级板球迷。从我记事起,我就迷上了这项运动,至今它仍在我的日常生活中起着重要的作用。我相信很多读到这篇文章的人都会点头!但是自从我开始工作以来,要跟上所有的比赛就成了一件棘手的事。我不能看一场完整的比赛,只能看一些短暂的片段,或者看文字解说。所以作为数据科学家的我决定做点什么。有没有一种方法可以让我使用我的Python技能并剪辑出比赛的所有重要部分?实际上,我想用Python创建...

qt 子窗体透明 不受父窗体背景影响 播放视频_丘上人的博客-程序员宝宝_qt 子窗口不随父窗口透明

使用qt版本 qt5.11.0 windows10 平台设置子窗体透明的方式很多。但是很多方式在有些情况下效果却很糟。如果父窗体上播放视频操作,或其他有修改窗体swichbuffer的行为时,透明效果需要做点小操作。1、首先如果希望透明子窗体要时时刻刻在父窗体上显示,需要继承父窗体指针,再调用raise()。2、让父窗体不影响子窗体,需要修改窗体flag值。Qt窗体类型有三种,一种是...

从零开始学GIMP:一.从基本图形开始_xVan的博客-程序员宝宝_gimp教程

GIMP全名是GNU Image Manipulation Program,GNU意味着是开源,免费的.可以在GIMP官网下载到安装版,或者源代码.Linux用户(Ubuntu,Fedora等)也可以在商店直接下载到GIMP.废话不多说开始本节讲解1.1点击启动:1.2启动完成(默认为多窗口模式可以点击:窗口->单窗口模式 来切换):2.1新建文件0

springBoot02_案例细节、使用向导快速创建springBoot项目、重新导入_乐七_的博客-程序员宝宝_springboot项目怎么重新构建

案例细节场景启动器里边有各种场景启动器,用到哪个就是导入依赖主程序只要是SpringBootApplication标注的,就是主配置类,比如这个类在com.sjg包下,那么就会在启动项目时,扫描com.sjg包下的所有子包,将里边的所有组件扫描到spring容器,其实就是spring中的纯注解开发的过程,将原本的配置文件都换成了配置类。Selector组件选择器,会把这个场景所需要的所有组件以全限定类名返回,并添加到spring容器中,添加的就是这些自动配置类,就是当前场景所需要

随便推点

HTML 常用标签_炒鸡蛋44的博客-程序员宝宝

body中常用标签:多个段落快捷键:p*n Tab 内容*nTab&lt;!DOCTYPE html&gt; &lt;!-- # 文档类型说明 --&gt;&lt;html lang="en"&gt; &lt;!-- # 页面根标签 --&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt; ...

探测远程Windows主机的NetBIOS信息_swords_man的博客-程序员宝宝

文摘内容: 原创:TOo2y(夜色) 来源:中华安全网(SafeChina) 探测远程Windows主机的NetBIOS信息Author: TOo2y[原创]E-mail: [email protected]: http://www.safechina.net/Date: 12-25-2002注:    本文相关程序 T-SMB 可探测远程主机的NetBIOS信息,包括操作系统

oracle 11g acfs,Oracle 11gR2 : ACFS 文件系统 呼之欲出_weixin_39564605的博客-程序员宝宝

Oracle 11gR2 : ACFS 文件系统 呼之欲出在ITPUB上看到Kamus透露的一些关于Oracle Database 11gR2的消息,学习记录一下。1. Oracle Cluster Repository (OCR) and Voting Disk stored in ASMThis feature enables ASM to provide a unified storage ...

常用排列组合公式_faterazer的博客-程序员宝宝_排列组合公式

1. 排列公式nnn 个相异物件取 rrr(1≤r≤n1 \leq r \leq n1≤r≤n)个的不同排列总数,为Prn=n(n−1)(n−2)⋯(n−r+1)P_r^n = n(n-1)(n-2)\cdots(n-r+1)Prn​=n(n−1)(n−2)⋯(n−r+1)特别地,若 n=rn=rn=r,得Prr=r(r−1)⋯1=r!P_r^r = r(r-1)\cdots 1 = r!Prr​=r(r−1)⋯1=r!人们常约定把 0!0!0! 作为 111。当 rrr 不是非负整数时,

如何用Spring Boot加密配置文件中的特殊内容示例代码详解_折翼之舞°的博客-程序员宝宝

前言:这篇文章主要介绍了SpringBoot加密配置文件特殊内容的相关知识,是小编在网上看的的,如有冒犯会及时修改。本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下有时安全不得不考虑,看看新闻泄漏风波事件就知道了我们在用Spring boot进行开发时,经常要配置很多外置参数ftp、数据库连接信息、支付信息等敏感隐私信息,如下这不太好,特别是互联网应用,应该用加密的方式比较安全,有点类似一些应用如电商、公安、安检平台、滚动式大屏中奖信

推荐文章

热门文章

相关标签