递归和非递归

###递归和非递归方式实现二叉树先、中、后序遍历

先序遍历顺序为根、左、右,中序遍历顺序为左、根、右,后序遍历是左、右、根。

递归实现:

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 + "");
	}

非递归遍历

updatedupdated2024-04-032024-04-03