LeetCode-剑指Offe-32-1-从上到下打印二叉树
题意描述:
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
示例:
例如:
给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7
返回:[3,9,20,15,7]
解题思路:
队列 + BFS
代码:
Python 方法一: 队列 + 循环
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = Noneclass Solution:def levelOrder(self, root: TreeNode) -> List[int]:tmp = [root]ret = []while len(tmp) != 0:node = tmp.pop(0)if node != None:ret.append(node.val)tmp.append(node.left)tmp.append(node.right)return ret
Java 方法一:LinkedList 实现队列
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/
import java.util.Queue;
import java.util.LinkedList;class Solution {public int[] levelOrder(TreeNode root) {ArrayList<Integer> ret = new ArrayList<Integer>();Queue<TreeNode> tmp = new LinkedList<TreeNode>();tmp.offer(root);while(tmp.size() != 0){TreeNode node = tmp.poll();if(node != null){ret.add(node.val);tmp.offer(node.left);tmp.offer(node.right);}}int[] ans = new int[ret.size()];for(int i=0; i<ret.size(); ++i){ans[i] = ret.get(i);}return ans;}
}
易错点:
- 一些测试用例:
[3,9,20,null,null,15,7]
[3,9,20,15,7,null,null]
[]
[1,null,null]
- 答案:
[3,9,20,15,7]
[3,9,20,15,7]
[]
[1]
总结:
LeetCode-剑指Offe-32-1-从上到下打印二叉树相关推荐
- leetcode 打印_剑指 Offer 32 - III 从上到下打印二叉树 III - leetcode 剑指offer
题目难度: 中等 原题链接 今天继续更新剑指 offer 系列, 这道题相比昨天那道题多了个每层打印方向不同的需求, 聪明的你想到应该如何实现了吗? 老样子晚上 6 点 45 分准时更新公众号 每日精 ...
- 【LeetCode】剑指 Offer 32 - III. 从上到下打印二叉树 III
[LeetCode]剑指 Offer 32 - III. 从上到下打印二叉树 III 文章目录 [LeetCode]剑指 Offer 32 - III. 从上到下打印二叉树 III package o ...
- 【LeetCode】剑指 Offer 32 - II. 从上到下打印二叉树 II
[LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II 文章目录 [LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II 一.层序遍历 BFS 一. ...
- 【最佳解法】剑指 Offer 32 - III. 从上到下打印二叉树 III
立志用最少的代码做最高效的表达 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推. 例如: 给定二叉 ...
- 【简洁+注释】剑指 Offer 32 - II. 从上到下打印二叉树 II
立志用最少的代码做最高效的表达 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回其层次遍历结果 ...
- 剑指 Offer 32 - III. 从上到下打印二叉树 III
解题思路:层级遍历 看本题思路之前首先看 1.从上到下打印二叉树1:https://blog.csdn.net/Mr_Jiax/article/details/109783502 2.从上到下打印二叉 ...
- 【简洁写法】剑指 Offer 32 - I. 从上到下打印二叉树
立志用最少的代码做最高效的表达 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回: [3,9,20,1 ...
- 剑指 Offer 32 - I. 从上到下打印二叉树
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 例如: 给定二叉树: [3,9,20,null,null,15,7], 3/ \9 20/ \15 7 返回: [3,9,20,1 ...
- 剑指 Offer 32 - II. 从上到下打印二叉树 II
2020-06-22 1.题目描述 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 2.题解 广度优先搜索,即层次遍历即可 3.代码 /*** Definition fo ...
- JZ32变形~剑指 Offer 32 - II. 从上到下打印二叉树 II
放假不学习/上班,学习不放假.放假当然是不能学习或工作啦
最新文章
- 如何对软件项目团队成员进行角色和岗位的划分
- linux常见的命令
- sql语句中 时间数值转换为时间格式函数
- C# 线程、任务和同步
- 插入最快mysql8.0_MySQL8.0大表秒加字段,是真的吗?
- python中修改列表元素的2种方法
- C++类中使用new及delete小例子
- java安全增加url_规范化String以在Java中创建安全URL
- python爬虫requests实战_Python爬虫之requests库网络爬取简单实战
- android缓存的后台进程,Android应用程序进程生命周期详解
- 如何查看hadoop是32位还是64位
- RCON 服务器命令协议
- mysql中kill掉所有锁表的进程
- PyCharm安装配置教程
- [Micropython]TPYBoard开发板点亮心形8*8点阵
- 一键解决Windows聚焦不更新的方法
- bing输入法linux,必应Bing输入法特殊符号输入方法图文教程
- LaTex\TexStduio设置参考文献Bibtex
- 录屏储存失败因为5823_屏幕录制储存失败因为-5823怎么找回
- 关于服务器ssl配置以后,https无法访问的问题
热门文章
- MySQL里Wating for Slave workers to free pending events到底在等什么
- 新建一个工作空间,复制原来工作空间的配置
- Excel与Word链接操作:使用邮件合并工具
- mysql替换首字母_MySQL中使用replace、regexp进行正则表达式替换的用法分析
- Android系统默认Home应用程序 Launcher 的启动过程源代码分析
- Android攻城狮四大组件之Service
- 50欧姆线设计 高频pcb_pcb 50欧姆阻抗匹配设计技巧
- 途家木鸟美团夏日折扣对垒,门槛低就一定香吗?
- 水处理设备网关,生活污水处理设备网关。
- android IO流_Android 开发技术周报 Issue#265