编写程序实现二叉树的如下操作:1)建立二叉链表2)二叉树的先序、中序、后序遍历3)求解二叉树的叶子结点个数4)将二叉树中所有结点的左、右子树相互交换输入:  扩展二叉树先序序列:ab#d##ce###。其中#代表空指针。输出:  二叉树的凹入表示  二叉树的先序序列、中序序列、后序序列  二叉树叶子结点个数  左、右子树相互交换后的二叉树的凹入表示  左、右子树相互交换后的二叉树的先序序列、中序序列、后序序列。说明:  在输出凹入表示的二叉树时,先输出根结点,然后依次输出左右子树,上下层结点之间相隔3个空格。