public List<Integer> postorderTraversal1(TreeNode root) {
		
		if (root == null) return list;
		
		Stack st = new Stack();
		Stack st2 = new Stack();
		st2.add(root);
		while(!st2.isEmpty())
		{
			root = (TreeNode) st2.pop();
			st.push(root);
			
			if (root.left != null)
				st2.push(root.left);
			if (root.right != null)
				st2.push(root.right);
		}
		
		while (!st.isEmpty())
		{
			root = (TreeNode) st.pop();
			list.add(root.val);
		}
		
		return list;
	}