反转二叉树的实现

目前自己只能写写LeetCode上简单的算法题,而且还写得不好,有时候结果与设想偏差很大,需要多加努力,认真学习了!

今天完成的一道算法题叫做二叉树翻转,第一个念头竟然是想用栈和队列实现,但结果有了很大的出入。因为队列是不允许放入的值为null,这在设计的时候没有想到。之后采用了递归,将原树的值赋给新树,当然值是要对调,就如下图所示,但是结果却是原树遍历到了最后一个节点后再也回溯不到根节点了。

之后就采用了第三种,采用如同数组调换位置的做法,定义了一个临时的节点用于存放当前节点的左叶子,最后才实现。至于上面一种方法为什么不成功,有机会还是要再去研究一下的。

 

 

posted @ 2018-09-27 21:23  奶昔书斋  阅读(1676)  评论(0编辑  收藏  举报