请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果: [ [3], [2 ...
分类:
其他好文 时间:
2021-05-24 07:46:56
阅读次数:
0
#include<vector> #include<queue> #include<string> #include<binaryNode.hpp> #include<iostream> #include<sstream> template<typename T> class traverse { ...
分类:
其他好文 时间:
2021-05-04 15:34:11
阅读次数:
0
思路分析 和分行从上到下打印二叉树本质上是一样的,只不过奇数行是从左到右打印,偶数行是从右到左打印. cpp /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * Tre ...
分类:
其他好文 时间:
2021-02-19 13:33:14
阅读次数:
0
DFS层次遍历,设置层数n,在node中按层数创建该层的数组,dfs时每层加入该层对应数组。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNo ...
分类:
其他好文 时间:
2021-02-09 12:27:15
阅读次数:
0
题目地址:从上往下打印二叉树 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 题目示例 输入: {5,4,#,3,#,2,#,1} 返回值: [5,4,3,2,1] 解法分析 本题考查二叉树的广度遍历,可以借助队列先进先出的特点来保存结点。 代码 1 function PrintF ...
分类:
其他好文 时间:
2021-02-08 12:28:36
阅读次数:
0
题意 从上到下打印二叉树的每一行,最后返回一个层序遍历的序列 思路 使用队列作为辅助工具来进行层序遍历,都存储到一个vector里面返回即可 代码 class Solution { public: vector<int> levelOrder(TreeNode* root) { if(!root) ...
分类:
其他好文 时间:
2021-01-30 12:09:44
阅读次数:
0
剑指 Offer 32 - I. 从上到下打印二叉树 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu ...
分类:
其他好文 时间:
2021-01-06 11:58:50
阅读次数:
0
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回: [3,9,20,15,7] 提示: 节点总数 ? 1000 BFS /** * Definition for a binary tree node. ...
分类:
其他好文 时间:
2020-12-24 11:52:04
阅读次数:
0
题目二维数组的查找题目要求在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路题目要求中可以发现有两个突破口:1.从行看,从左往右依次递增从列看,从上往下依次递增(1)当我们从第一行第一个元素开始比较的时候,会发现无论是往右还是往下都是递增,比较没有意
分类:
编程语言 时间:
2020-12-21 10:58:51
阅读次数:
0
思路 方法一:辅助队列保存对应层数 我们可以用广度优先搜索解决这个问题。 我们可以想到最朴素的方法是用一个二元组 (node, level) 来表示状态,它表示某个节点和它所在的层数,每个新进队列的节点的 level 值都是父亲节点的 level 值加一。 最后根据每个点的 level 对点进行分类 ...
分类:
其他好文 时间:
2020-11-01 21:30:46
阅读次数:
22