博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求二叉树的叶子节点数目
阅读量:6772 次
发布时间:2019-06-26

本文共 1015 字,大约阅读时间需要 3 分钟。

题目:求二叉树叶子节点的个数

思路:递归和迭代

递归:求叶子节点的个数,就是求 左子树叶子节点的个数  加上  右子树叶子节点的个数

public static int numberOfLeaf(TreeNode root){        if(root == null)            return 0;        if(root.left == null && root.right == null)            return 1;        return numberOfLeaf(root.left)+numberOfLeaf(root.right);}

迭代:

public static int numberOfLeaves(TreeNode root){        if(root == null)            return 0;        if(root.left == null && root.right == null)            return 1;        Queue
queue = new LinkedList
(); queue.add(root); int leafNodes = 0; while(!queue.isEmpty()){ TreeNode cur = queue.remove(); if(cur.left != null){ queue.add(cur.left); } if(cur.right != null){ queue.add(cur.right); } if(cur.left == null && cur.right == null){ leafNodes++; } } return leafNodes; }

 

转载于:https://www.cnblogs.com/lfdingye/p/7365249.html

你可能感兴趣的文章
Md2All,把图片轻松上传到云图床,自动生成Markdown
查看>>
偷懒打卡的新姿势
查看>>
让您的运维更可预期(二) - ECS系统事件支持历史事件查询
查看>>
新闻类应用后台耗电大调查!哪个应用最省电?
查看>>
从零搭建自己的SpringBoot后台框架(十)
查看>>
为什么说 Java 程序员到了必须掌握 Spring Boot 的时候?
查看>>
JavaScript基础——Promise使用指南
查看>>
码栈搭建自动化应用(可视化模式)
查看>>
java编程思想之并发(线程之间的协作)
查看>>
SpringBoot开发案例构建分布式日志处理系统
查看>>
GPUImage之裁剪篇
查看>>
一文教你将 SpringBoot 网站升级为 HTTPS
查看>>
初始Promise/A+规范
查看>>
如何用WebIDE打开并运行CRM Fiori应用
查看>>
iOS自旋锁
查看>>
编译支持iOS的libcurl+OpenSSL库(支持https IPv6)
查看>>
小白入门微服务(3) - 什么是 API gateway
查看>>
路由器和交换机?傻傻分不清楚
查看>>
create-react-app集成Prettier
查看>>
Django 优秀资源大全
查看>>