基本原理: 通过利用队列对每一层的节点从左至右依次进队,然后对已经进队的上一层进行出队,直到所有队列全部出队,该函数结束。 算法分析: 第一,先将根节点的左右孩子进队,然后再访问根节点。(如果没有左右孩子则不进队,直接结束函数) 第二,判断队列是否为空,如果不为空,则进入循环体。 第三,先将出队一个 ...
分类:
编程语言 时间:
2020-11-21 12:47:49
阅读次数:
27
103. 二叉树的锯齿形层次遍历 锯齿形层次遍历,思路与二叉树的层次遍历相同,稍微做点改动,区别在于此处使用的是双端队列,分别从前到后和从后到前地遍历二叉树。代码如下 vector<vector<int>> zigzagLevelOrder(TreeNode* root) { deque<TreeN ...
分类:
其他好文 时间:
2020-10-06 19:57:09
阅读次数:
25
问题描述 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为: [ [15,7], [9,20], [3]] ...
分类:
其他好文 时间:
2020-07-12 20:24:35
阅读次数:
60
题目描述: 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7],返回其自底向上的层次遍历为: [ [15,7], [9,20], [3] ] DFS:递归,从上到下遍历二叉树,每 ...
分类:
其他好文 时间:
2020-06-13 11:11:42
阅读次数:
45
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为: [ [15,7], [9,20], [3]] /** ...
分类:
其他好文 时间:
2020-06-05 21:17:52
阅读次数:
78
画画还真是费时间,主要的思路就是有队列来完成层次遍历,首先需要一个遍历结点的指针p,初始化首尾指针,当p!=null进入循环,让根节点1入队,rear指针+1, 下面的循环遍历条件是首尾指针不等(rear!=front) 标记一下此时的父结点p就是队列的首结点p=queue[rear],首节点出队f ...
分类:
编程语言 时间:
2020-06-04 21:17:21
阅读次数:
83
1、23合并K个排序链表:优先队列的方法 2、101对称二叉树————利用2叉数的广度遍历 3、102二叉树的层次遍历 4、103旋转层次遍历 5、104二叉树的最大深度 cpp //哈希表 class Solution { public: int singleNumber(vector& nums ...
分类:
其他好文 时间:
2020-04-27 15:24:23
阅读次数:
47
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level). For example:Given binary tree [3 ...
分类:
其他好文 时间:
2020-04-21 09:51:36
阅读次数:
66
求二叉树的层次遍历 Description 已知一颗二叉树的前序遍历和中序遍历,求二叉树的层次遍历。 Input 输入数据有多组,输入T,代表有T组测试数据。每组数据有两个长度小于50的字符串,第一个字符串为前序遍历,第二个为中序遍历。 Output 每组输出这颗二叉树的层次遍历。 Sample I ...
分类:
其他好文 时间:
2020-04-17 20:07:45
阅读次数:
75
描述: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例: 二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 题解 /** * De ...
分类:
其他好文 时间:
2020-03-31 20:52:19
阅读次数:
49