技术标签: 二叉树深度 LeetCode题解 leetcode
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
返回它的最小深度 2.
思路:广度优先遍历二叉树,记录遍历到的层数,当找到第一个叶子结点时,该叶子结点所在层数就是二叉树的最小深度。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public int minDepth(TreeNode root) {
if(null==root){
return 0;
}
ArrayDeque<TreeNode> queue=new ArrayDeque<TreeNode>();
queue.add(root);
int min=0;
while(!queue.isEmpty()){
int size=queue.size();
int flag=0;
for(int i=0;i<size;i++){
TreeNode node=queue.removeFirst();
if(null==node.left&&null==node.right){//找到叶子结点
flag=1;
}
if(null!=node.left){
queue.add(node.left);
}
if(null!=node.right){
queue.add(node.right);
}
}
min++;
if(flag!=0){
break;
}
}
return min;
}
}
以下内容来自: 1、《OpenSceneGraph三维渲染引擎编程指南》肖鹏 刘更代 徐明亮 清华大学出版社 2、《OpenSceneGraph三维渲染引擎设计与实践》王锐 钱学雷 清华大学出版社3、自己的总结 下载完整工程OSG_9_TextureMultiple创建C++项目后,首先需要配置OSG环境,具体步骤看OSG学习:WIN10系统下OSG+VS2017编译...
问题描述:使用XML文件时,需要获取一串ID号,例如 “PCI\VEN_1969&DEV_1090&CC_0200”,作为元素属性,结构示例为 在Notepad++里面设置为XML方式显示,发现有点些不对,保存在IE里面打开,报错。查到错误原因,是&符号需要使用转义字符,整理汇总下处理方式一、使用转义字符,如下表字符Xml转义字符(替换用)
1、安装(Linux,集群,3台机器)zookeeper依赖java环境,首先安装jdk,至少需要1.6版本下载zookeeper,进入zookeeper/conf目录,拷贝zoo_sample.cfg,重命名为zoo.cfg,配置如下# The number of millisec...
执行shell脚本在crontab -e中设置(注意:在公司使用非root权限的,路径也写全路径)*/1 * * * * sh /home/start.sh记得修改为可执行文件chmod 777 start.sh使用教程:crontab 格式 * * * * *XXX 分 时 天 月 ...
学习日记一、IDEA 2019 下载安装进入官网下载 IDEA 安装包(点此进入 IDEA 官网),有旗舰版(30天免费试用)和社区版,可自行选择。本文介绍 IDEA 2019 旗舰版安装步骤,IDEA 2019 旗舰版安装包下载链接在本文最后。打开安装包,如下所示,有4个文件,点击 ideaIU-2019.1.exe 将 IDEA 下载到电脑的指定位置,安装依照步骤进行。**特别注意:**进行到如图所示的这一步时,选择 64-bit launcher 和 .java。打开安装包的 Ho
源码包netkit-ftp-0.17.tar.gz编译,步骤如下:1、tar解压2、打补丁patch -p1< netkit-ftp-0.17-cross.patch在源码目录下,建立上述名字的补丁文件,内容如下:diff -Naur netkit-ftp-0.17.orig/configure netkit-ftp-0.17/configure--- netkit-ftp-0....
(一).配置交叉编译工具arm-linux-gcc不编译在make zImage时会出现"arm-linux-gcc:Command not found"下面讲解配置方法1.tar -xvfj EABI - 4.3.3_EmbebSky_20100610.tar.bz2 -C /opt/Embedsky/(其中,EABI - 4.3.3_EmbebSky_20100610.
1、新建服务接口:在CategoryService中新建接口方法listWithTreepublic interface CategoryService extends IService<CategoryEntity> { PageUtils queryPage(Map<String, Object> params); List<CategoryEntity> listWithTree();}2、 实现服务接口:com/wang/gulima.
实验环境CentOS7、vsftpd3.0.2创建两个账号fanyc1、fanyc2 1,登录账号限制:结论1:ftpusers为黑名单,只要存在只这里的用户,都登录不了结论2:user_list为白名单,如下配置后,不在ftpusers中但是在user_list中的用户可以登录# vsftpd.confuserlist_enable=YESuserlist_de...
输入1个整数,判断该数是奇数还是偶数.(用C语言编程)#includevoidmain(){intn;printf("输入一个整数:");scanf("%d",&n);if(n%2==0){printf("%d是偶数\n",n);}else{printf求解c语言中 输入一个正整数,判断该数是奇数还是偶数.#includevoidmain(){intn;&c语言...
<br />关于QEMU的安装步骤及其中注意的地方:<br />步骤:<br />1)下载qemu<br />2)解压,命令为:tar zxvf qemu-0.12.4.tar.gz<br />3)转到qemu目录中,命令为:cd qemu-0.12.4<br />4)配置,命令:./configure<br />5)编译,命令为:make<br />6)安装,命令为:make install<br /><br />注意事项:<br />在configure之前安装几个助
package siyue;import java.security.Key;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import sun.misc.BASE64Decoder;import sun.misc.BA