private void dfsBinaryTree(TreeNode root, TreeNode t, List<TreeNode> stack) {
    	// 后序遍历算法
    	TreeNode pre = null;
    	while (!stack.isEmpty() || root != null) {
    		if (root != null) {
    			stack.add(root);
    			root = root.left;
    		} else {
    			root = stack.remove(stack.size() - 1);
    			if (root == t) {
    				stack.add(root);
    				return;
    			}
    			if (root.right != null && root.right != pre) {
    				stack.add(root);
    				root = root.right;
    			} else {
    				pre = root;
    				root = null;
    			}
    		}
    	}
    }