三种递归遍历
如图为一个简单的二叉树:
前序
它的遍历顺序大致如上图,因为他其实每一步都在重复先打印当前节点,在遍历他的左孩子节点,最后遍历右孩子节点,所以完全可以用帝归来实现,中序后序根本上和前序一样,只是顺序不同而已
前序遍历结果为:
public static void preorder(TreeNode root){
if (root==null)
return;
System.out.printf("%c ",root.val);
preorder(root.left);
preorder(root.right);
}
中序
中序遍历结果为:
public static void inorder(TreeNode root){
if (root==null)
return;
inorder(root.left);
System.out.printf("%c ",root.val);
inorder(root.right);
}
后序
后序遍历结果为:
public static void postorder(TreeNode root){