思路:借助先序遍历交换子树。
创建二叉树
![](https://i-blog.csdnimg.cn/blog_migrate/1cce814fd7612ff00a98ed2c048e0845.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/2ed17968ff9115d967553f4123126142.png)
得出:
先序遍历: 1,2,4,5,3,6
逆后序遍历:1,3,6,2,5,4
后序遍历:4,5,2,6,3,1
观察发现:交换左右子树的二叉树先序遍历=二叉树逆后序遍历=后序遍历反着来
因此,我们的目标是,想办法吧二叉树变成交换左右子树的二叉树,然后push进一个stack里,最后只要pop出来。
代码实现如下:
/**
* 通
思路:借助先序遍历交换子树。
创建二叉树
得出:
先序遍历: 1,2,4,5,3,6
逆后序遍历:1,3,6,2,5,4
后序遍历:4,5,2,6,3,1
观察发现:交换左右子树的二叉树先序遍历=二叉树逆后序遍历=后序遍历反着来
因此,我们的目标是,想办法吧二叉树变成交换左右子树的二叉树,然后push进一个stack里,最后只要pop出来。
代码实现如下:
/**
* 通