• leetcode 114


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

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

            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 后面就好。基本就到这了,又什么问题,小伙伴们可以与我交流。

  • 相关阅读:
    求n的元素的最大最小值
    输出一个集合的所有子集,从长到短
    树的各种操作java
    几个笔试题目总结
    小知识不断补充
    java、C语言实现数组模拟栈
    LearnHowToThink
    Android中的this、Activity、Context等
    Android已上线应用开源分享中(第二季)
    Android已上线应用开源分享中(第一季)
  • 原文地址:https://www.cnblogs.com/cold-windy/p/11781196.html
Copyright © 2020-2023  润新知