题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路: 这个题目其实非常基础了,也就是直接使用BFS广度优先搜索算法对整棵二叉树进行遍历即可,我们最后返回的是一个数组 "[]",把遍历之后的元素放到这个数组当中即可。为了进行BFS,我们首先新建一个队列,将树根部的节点放到队列里 ...
分类:
编程语言 时间:
2020-09-04 17:24:39
阅读次数:
59
从上到下打印二叉树,引用辅助队列。 C++版本 #include <iostream> #include <vector> #include <stack> #include <cstring> #include <queue> #include <algorithm> using namespac ...
分类:
其他好文 时间:
2020-07-28 10:00:15
阅读次数:
73
题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 输出: 二维列表:[[1,2],[4,5]] 思路: 使用两个列表分别存放当前层节点,下一层节点 1 # -*- coding:utf-8 -*- 2 # class TreeNode: 3 # def __init__(s ...
分类:
其他好文 时间:
2020-07-23 23:21:46
阅读次数:
78
struct BinaryTreeNode { int nvalue=0; BinaryTreeNode* pleft = nullptr; BinaryTreeNode* pright = nullptr; BinaryTreeNode* parent = nullptr;};vector<vec ...
分类:
其他好文 时间:
2020-07-18 22:37:14
阅读次数:
87
题解:层次遍历的基础上加个计数器,偶数层得到的结果反转一下 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeN ...
分类:
其他好文 时间:
2020-07-18 21:52:24
阅读次数:
59
解题:利用队列先进先出来实现层次遍历 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) ...
分类:
其他好文 时间:
2020-07-18 19:52:44
阅读次数:
68
此题和之前的剑指offer32-I、II.从上到下打印二叉树大致相同在BFS的基础上只是添加了一个重排序的过程。具体代码如下: 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * st ...
分类:
其他好文 时间:
2020-07-18 11:18:07
阅读次数:
58
解题思路: 题目要求的二叉树的 从上至下 打印(即按层打印),又称为二叉树的 广度优先搜索(BFS)。 BFS 通常借助 队列 的先入先出特性来实现。 算法流程:特例处理: 当树的根节点为空,则直接返回空列表 [] ;初始化: 打印结果列表 res = [] ,包含根节点的队列 queue = [r ...
分类:
其他好文 时间:
2020-07-14 00:36:31
阅读次数:
69
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ ...
分类:
其他好文 时间:
2020-07-09 20:53:22
阅读次数:
74
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回: [3,9,20,15,7] 因为是要从上到下,所以要求先进先出,先压入的一层就要先输出,所以采用队列。 从第一层开 ...
分类:
其他好文 时间:
2020-07-04 13:42:26
阅读次数:
69