public static void postOrderTraverseIterative(Node n){
		Stack<Node> stack = new Stack<Node>();
		Node prev= null;
		Node curr= null;
		stack.push(n);
		while(!stack.isEmpty()){
			curr = stack.peek();
			if ( prev == null || prev.left == curr || prev.right == curr){
				if (curr.right != null){
					stack.push(curr.right);
				}
				if (curr.left != null){
					stack.push(curr.left);
				}
			}else if (curr.left == prev){
				if (curr.right != null){
					stack.push(curr.right);
				}
			}else{
				stack.pop();
			}
			prev = curr;
		}
	}