树的蜿蜒型层次遍历 要求第一层从左向右,第二层从右向左...依次类推 和102题无本质区别,加一个翻转指示器即可 ...
分类:
其他好文 时间:
2019-04-13 17:36:52
阅读次数:
139
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如:给定二叉树 [3,9,20,null,null,15,7], 返回其自底向上的层次遍历为: ...
分类:
其他好文 时间:
2019-04-08 21:38:22
阅读次数:
259
题目: 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 解题思路: 层次遍历。每次记录每一层的最右边的那个节点,并输出。这里介绍一个非常好用的模板,这个板子可以用来求高度、某一层节点的个数、树的最大宽度等。 代码: ...
分类:
其他好文 时间:
2019-04-08 01:01:15
阅读次数:
152
一、概念 1、前序遍历: 2、中序遍历: 3、后序遍历 4、层次遍历 从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印 二、代码 2.1 首先定义TreeNode 2.2 代码 ...
分类:
其他好文 时间:
2019-04-05 12:20:44
阅读次数:
167
一. 题目: 二叉树按层打印,同时输出格式满足:打印完一层要换行,每一行的行首标明:level i(i=1,2,3...层) 思路:1.先把二叉树的层次遍历搞懂: 用队列实现,原理是:根节点入队,然后在队列不空的时候循环,循环体操作为:抛出队首元素并向队尾添加该抛出节点的左右子节点(如果不为空的话) ...
分类:
编程语言 时间:
2019-04-03 22:25:43
阅读次数:
227
面试的时候不会写,只写完了层次遍历,挂了,Orz。 思路: 1.层次遍历,bfs。 2.遇到新层的第一个节点才会添加新层。 3.每层从右往左遍历,则最右的始终是每层的第一个。 4.结合2,3。当需要添加新层时,将节点值添加进结果集。 用到的数据结构: 1.队列,这里用双向Deque。 2.线性表,存 ...
分类:
其他好文 时间:
2019-03-31 09:34:06
阅读次数:
198
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]] 思路: 先递... ...
分类:
其他好文 时间:
2019-03-17 15:43:59
阅读次数:
143
#coding=utf-8#点评:#递归思想加层次遍历,很经典的解题模板思想 20181220class Solution(object): def numSquares(self, n): """ :type n: int :rtype: int """ pair = (n,0) queue = ...
分类:
其他好文 时间:
2019-03-17 13:25:03
阅读次数:
136
一、二叉树 非递归前序遍历 非递归中序遍历 非递归后序遍历 队列层次遍历 N叉树 ...
分类:
其他好文 时间:
2019-03-11 13:18:31
阅读次数:
153
function levelOrder (root) { if (!root){ return false; } var tree = [];//存放待遍历的节点 var result = [];//存放遍历后的结果 tree.push(root) while (tree.length){ var ... ...
分类:
其他好文 时间:
2019-03-08 12:48:24
阅读次数:
170