首页 > 其他 > 详细

leetcode 114

时间:2019-11-02 15:04:48      阅读:65      评论:0      收藏:0      [点我收藏+]

//感想:对于二叉树的递归一定要搞清楚每一步的递归究竟要做什么,每一步做好,每一层都是如此,往下走的时候做,还是回溯的时候做,都要思考清楚,递归结束的条件是什么,还有返回值要不要,要的话返回什么东西。就是这三要素,不过最重要的还是行动吧,每一层究竟需要进行什么操作。

//思路:对于这道题,我一开始做反了,返回成了这样的

        1

       /     \

      2         null

     /               \

    3                   null

自然是错了,然后我将这个结果再递归反置一下也得到正确结果了,这个也提醒我们,可以反着来,最后将反着的结果给他正过来,扯远了。。。

我Ac之后去看了一下正确答案,跟这个比较类似,就是多用了一个指针指向一开始的root.right,因为我们会对这个root.right让它等于root.left.算了感觉讲不清楚,我去画两张图。

运用了后序遍历,保存了我们root的右节点,因为我们后面会让root.right指向root.left,所以必须保存,不然会丢失这个节点,让root.right指向root.left,让root.left指向null,最后再把p指向的原来的root.right 拼接再现在root.right 后面就好。基本就到这了,又什么问题,小伙伴们可以与我交流。

技术分享图片

 

技术分享图片

 

leetcode 114

原文:https://www.cnblogs.com/cold-windy/p/11781196.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!