###递归和非递归方式实现二叉树先、中、后序遍历
先序遍历顺序为根、左、右,中序遍历顺序为左、根、右,后序遍历是左、右、根。
递归实现:
public class Node {
public int value;
public Node left;
public Node right;
public Node(int data){
this.value = data;
}
}
/**
* 前序遍历
* @param head
*/
public void preOrderRecur(Node head){
if(head == null){
return;
}
System.out.println(head.value + " ");
preOrderRecur(head.left);
preOrderRecur(head.right);
}
/**
* 中序遍历
* @param head
*/
public void inOderRecur(Node head){
if(head == null){
return;
}
inOderRecur(head.left);
System.out.println(head.value + " ");
inOderRecur(head.right);
}
/**
* 后序遍历
* @param head
*/
public void posOrderRecur(Node head){
if(head == null){
return;
}
posOrderRecur(head.left);
posOrderRecur(head.right);
System.out.println(head.value + "");
}
非递归遍历