当前位置:网站首页>Sequence traversal of binary tree ii[one of sequence traversal methods - > recursive traversal + level]
Sequence traversal of binary tree ii[one of sequence traversal methods - > recursive traversal + level]
2022-06-29 03:19:00 【REN_ Linsen】
Hierarchical traversal -> Recursive traversal + level
Preface
Hierarchical traversal is the basis of the operation tree , Hierarchical traversal is a variation of hierarchical traversal , General available queues + layer size To stratify , You can also recursively traverse +level To stratify . Through zigzag hierarchical traversal binary tree to practice the previous traversal +level To stratify .
One 、 Sequence traversal of binary tree II

Two 、 Recursive traversal + level layered
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */
class Solution {
public List<List<Integer>> levelOrderBottom(TreeNode root) {
// The former sequence traversal + level Implement hierarchical traversal .
List<List<Integer>> ans = new ArrayList<>();
preOrder(root, ans, 0);
return ans;
}
private void preOrder(TreeNode root, List<List<Integer>> ans, int level) {
// null node , Recursive termination .
if (root == null) return;
// Going down one layer at a time , So choose to wait .
if (level == ans.size()) ans.add(0,new ArrayList<>());
List<Integer> cur = ans.get(ans.size() - 1 - level);
cur.add(root.val);
// The former sequence traversal
preOrder(root.left, ans, level + 1);
preOrder(root.right, ans, level + 1);
}
}
summary
1) Level traversal , Hierarchical traversal .
2) queue + layer size layered | Recursive traversal + level layered .
reference
边栏推荐
- 手机开户股票开户安全吗?开户很难么?
- Kubernetes: container resource requirements and constraints (constraints)
- What is a thread pool?
- 2022-2028 global low carbon concrete industry research and trend analysis report
- 使用gdb添加断点的几种方式
- [thread communication]
- Setting alarm mode of Jerry's watch [chapter]
- 1110: 最近共同祖先(函数专题)
- 深度解析“链动2+1”模式的商业逻辑
- matlab习题 —— 图像绘制练习
猜你喜欢

Nvisual helps integrators transform
![[线性代数] 1.2 全排列和对换](/img/04/18fc358c6c426e10c8598bcee9cd43.png)
[线性代数] 1.2 全排列和对换

【线程通信】

想当设备管理师?满足这三个报考条件就可以
![Jerry's watch pause [chapter]](/img/57/487ca3dd40e5a7bafdbbe4a7c331e6.jpg)
Jerry's watch pause [chapter]
![Jerry's monitoring alarm clock [chapter]](/img/b7/a5ca7a79af51bd79e4f5c1322b72ff.jpg)
Jerry's monitoring alarm clock [chapter]

1110: nearest common ancestor (function topic)

1110: 最近共同祖先(函数专题)
![Jerry's watch obtains alarm mode settings [chapter]](/img/43/987d864ec6038b10138ce50bcbdf12.jpg)
Jerry's watch obtains alarm mode settings [chapter]

There's a mystery behind the little login
随机推荐
Potential learning C language - pointer explanation (Advanced)
Counter analysis of the parameter anti content in the backstage of the # yyds dry goods inventory # knife fight shop
vim配置与使用
Faster memcpy alternatives- faster alternative to memcpy?
Problème - Ajouter shellerror: permissions d'instrumentation pour le périphérique: vérifier les règles udev.
PAT甲级 A1057 Stack
快速排序,查询序列的第K大的数
[together with Shangshui Shuo series] day 6-strong liver academic paper! The most detailed explanation!
Equal wealth
FPGA(八)RTL代码之四(基本电路设计1)
PMP Business Analysis Overview
Applet view creation
[linear algebra] 1.1 second and third order determinants
Ten commands commonly used in SVN
Shell script to count files, then remove oldest files
2022-2028 global industrial lithium chloride industry research and trend analysis report
深入解析 Apache BookKeeper 系列:第三篇——读取原理
【雲原生】這麼火,你不來了解下?
手机开户股票开户安全吗?开户很难么?
如何理解MySQL的索引?