问题: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 分析: (1)对树进行层次遍历:使用队列 (2)需要单独记录每一层的序列:两个队列交替使用 code: //树节点 public class Tr ...
分类:
其他好文 时间:
2020-05-20 15:54:36
阅读次数:
44
题目描述 面试题32 - III. 从上到下打印二叉树 III 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 ...
分类:
其他好文 时间:
2020-05-17 17:57:01
阅读次数:
70
题意描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 解题思路 一、递归 使用 depth 表示当前打印的层数。 1. 当前节点为空,返回。 2. 当前层数 》 已打印的层数,扩容。 3. 将元素添加入集合。 4. 向左递归、向右递归。 二、非递归 利用队列先进先出的特点。 1 ...
分类:
其他好文 时间:
2020-04-27 17:22:03
阅读次数:
54
题目: 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果: [ [3], [9,20], [15,7]] 提示: 节点总数 <= 1000 解答 ...
分类:
其他好文 时间:
2020-04-21 16:50:29
阅读次数:
54
import java.util.ArrayList; import java.util.Queue; import java.util.LinkedList; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNod ...
分类:
其他好文 时间:
2020-04-10 22:28:20
阅读次数:
138
分析:层次遍历的经典算法 import java.util.ArrayList; import java.util.*; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; publ ...
分类:
其他好文 时间:
2020-04-05 18:59:03
阅读次数:
96
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路 使用两个栈s1,s2:s1用来存储奇数层的节点,s2用来存储偶数层的节点(层数从1开始); 先将根结点压入s1; 当前层是奇数层时,弹出s ...
分类:
其他好文 时间:
2020-04-04 17:24:39
阅读次数:
75
// 面试题32(三):之字形打印二叉树 // 题目:请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺 // 序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印, // 其他行以此类推。 #include <cstdio> #include "BinaryTree. ...
分类:
其他好文 时间:
2020-03-31 01:37:58
阅读次数:
69
// 面试题32(一):不分行从上往下打印二叉树 // 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。 #include <cstdio> #include "BinaryTree.h" #include <deque> void PrintFromTopToBottom ...
分类:
其他好文 时间:
2020-03-30 23:48:44
阅读次数:
118
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define MAXTSIZE 100; //二叉树的最大结点数 5 typedef char TElemType; 6 7 typedef struct BiTNode 8 { 9 TElemType da ...
分类:
其他好文 时间:
2020-03-30 19:47:40
阅读次数:
50