Leetcode 二叉树层序遍历部分笔记

  1. 二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

 

示例 1:

输入:root = [1,2,3,null,5,null,4]

输出:[1,3,4]

解题思路:使用层序遍历 ,每一层记录队列size,每一次遍历到size-1,最后一个节点就是最右侧节点。
 

f59b2f0684514a9ba289bac4fc655d3b.png

2. 二叉树层的平均值

给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。


e54b4cf2796248e48b66f3373a85255b.png

解题思路 二叉树层序遍历,初始定义一个sum,每遍历完一层,则算一个平均值sum/size,放入数组中,最后list.toarrar(new int(size))

 

c1eba1e5f73f4e88a2dfd4864da8930e.png

3. 二叉树的层序遍历 

给你二叉树的根节点 root ,返回其节点值的 层序遍历。 (即逐层地,从左到右访问所有节点)。

解题思路 层序遍历 每一个节点都放入一个list 再创建一个范型为list的数组,放进去。

b0391806326c411381319e048307e302.png

4. 二叉树锯齿型遍历

给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

解题思路:基本层序遍历框架,加一个计数器记一下当前在第几层,如果偶数层则逆置,用list存。

9d664d5bbb6f409f85cf1ec16feaf965.png

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值