中序遍历(LDR)是 二叉树遍历的一种,也叫做 中根遍历、中序周游。在二叉树中,先左后根再右。巧记:左根右。
中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树
若 二叉树为空则结束返回,
否则:
(1)中序遍历左子树
(2)访问根结点
(3)中序遍历右子树
如图所示
中序遍历结果:DBEAFC
public class Test {public static void main(String[] args) {TreeNode[] node = new TreeNode[10];// 以数组形式生成一棵完全二叉树for (int i = 0; i < 10; i++) {node[i] = new TreeNode(i);}for (int i = 0; i < 10; i++) {if (i * 2 + 1 < 10)node[i].left = node[i * 2 + 1];if (i * 2 + 2 < 10)node[i].right = node[i * 2 + 2];}midOrderRe(node[0]);}public static void midOrderRe(TreeNode biTree) {// 中序遍历递归实现if (biTree == null)return;else {midOrderRe(biTree.left);System.out.print(biTree.value + " ");midOrderRe(biTree.right);}}}// 节点结构class TreeNode {int value;TreeNode left;TreeNode right;TreeNode(int value) {this.value = value;}}
