感觉这个逻辑很简单,就是每个节点进行一次左右节点的调换。
真的太开心啦,终于自己写出来一道题!这道题就是开始判断是否为空,然后交换,再递归调用(类似前序遍历)。
按照下面这样写可能看上去更加舒适些,因为实际上右边的树序列就是递归中根节点的左子树,左边的树序列就是递归中根节点的右子树:
这道题实际还可以用递归的方法来解决。
这里使用add好一点,还有树的root节点千万记住!!!要判断是不是null!!!交换晚于判断为空压栈好一点。
2023/7/29
这道题一看居然还没想到怎么写,真是脑子坏了……这里涉及到前序遍历加上交换左右子树的思想。在前序遍历的过程中,“恰好”将每个节点的左右节点交换(无论是否为空),这个处理操作写在正常前序遍历的后面。