# 1.前序遍历

## 1.1前序遍历概念

[前序遍历](前序遍历_百度百科 (baidu.com))（VLR）， [1] 是二叉树遍历的一种，也叫做先根遍历、先序遍历、前序周游，可记做根左右。前序遍历首先访问根结点然后遍历左子树，最后遍历右子树。

## 1.2前序遍历习题

/**
* 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 {
List<Integer> list = new ArrayList<>();
public List<Integer> preorderTraversal(TreeNode root) {
if (root == null) {
return list;
}
preorderTraversal(root.left);
preorderTraversal(root.right);
return list;
}
}


/**
* 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<Integer> preorderTraversal(TreeNode root) {
List<Integer> list = new ArrayList<>();
if (root == null) {
return list;
}
List<Integer> leftTree = preorderTraversal(root.left);
List<Integer> rightTree = preorderTraversal(root.right);
return list;
}
}


# 2.中序遍历

## 2.1中序遍历概念

[中序遍历](中序遍历_百度百科 (baidu.com))是二叉树遍历的一种，也叫做中根遍历、中序周游。在二叉树中，中序遍历首先遍历左子树，然后访问根结点，最后遍历右子树。

## 2.2中序遍历习题

/**
* 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<Integer> inorderTraversal(TreeNode root) {
List<Integer> list = new ArrayList<>();
if (root == null) {
return list;
}
List<Integer> leftTree = inorderTraversal(root.left);
List<Integer> rightTree = inorderTraversal(root.right);
return list;
}
}


# 3.后续遍历

## 3.2后序遍历习题

/**
* 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<Integer> postorderTraversal(TreeNode root) {
List<Integer> list = new ArrayList<>();
if (root == null) {
return list;
}
List<Integer> leftTree = postorderTraversal(root.left);
List<Integer> rightTree = postorderTraversal(root.right);
return list;
}
}


|
2月前
|

Java中，树与图的算法涉及二叉树的前序、中序、后序遍历以及DFS和BFS搜索。
【6月更文挑战第21天】Java中，树与图的算法涉及二叉树的前序、中序、后序遍历以及DFS和BFS搜索。二叉树遍历通过访问根、左、右子节点实现。DFS采用递归遍历图的节点，而BFS利用队列按层次访问。以下是简化的代码片段：[Java代码略]
32 4
|
3天前
|
Java 容器
07 Java数组与数组操作（定义+遍历+排序+增删改查）（上）
07 Java数组与数组操作（定义+遍历+排序+增删改查）
27 8
|
3天前
|

07 Java数组与数组操作（定义+遍历+排序+增删改查）（下）
07 Java数组与数组操作（定义+遍历+排序+增删改查）
23 4
|
14天前
|

java使用递归及迭代方式实现前序遍历 中序遍历 后序遍历 以及实现层序遍历
java使用递归及迭代方式实现前序遍历 中序遍历 后序遍历 以及实现层序遍历
31 7
|
3天前
|

LeetCode经典算法题：二叉树遍历（递归遍历+迭代遍历+层序遍历）以及线索二叉树java详解
LeetCode经典算法题：二叉树遍历（递归遍历+迭代遍历+层序遍历）以及线索二叉树java详解
6 0
|
2月前
|
Java
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
29 2
|
2月前
|

23 1
|
2月前
|
Java API 存储
java中Map遍历详解
java中Map遍历详解
30 0
|
2月前
|
Java

17 0
|
2月前
|

13 0