二叉树是一种特殊的数据结构,二叉树是有两个节点的树,二叉树的基本表示是左右孩子表示法,基本操作是遍历,二叉树有三种遍历方法:
1.先序/前序遍历: 根左右
2.中序遍历: 左根右;
后序遍历法: 左右根
就比如这颗二叉树:
先序:A B D E G H C F
中序:D B G H E A C F
后序:D H G E B F C A
下面来用Java实现这三种遍历方式:
先序遍历: 总的先序遍历结果=根节点+左子树的先序结果+右子树的先序结果
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> result = new ArrayList<>();
if (root == null) {
// 空树返回一个空的 List (元素个数为 0, 但是不是 null)
ret