private ArrayList<TreeNode> getPath2Root(TreeNode node) {
		ArrayList<TreeNode> list = new ArrayList<TreeNode>();
		while (node != null) {
			list.add(node);
			node = node.parent;
		}
		return list;
	}