1、层序遍历:代码随想录 (programmercarl.com)
1.每次都要提前记录que中的size,来控制每次从que中弹出多少元素,因为size是在不断变化的,表示了每层元素的数量。
2.用while(size--)或者for循环都可以把各层的元素加入vector《int》中
3.在for循环或者while(size--)中不能直接用que.size,因为在之后的操作中这个que.size()是变化的。
4.也可以这样理解,外层的while循环重新指定了que.size(),里面的for循环将每一层的结果装进vec。
2、反转二叉树:代码随想录 (programmercarl.com)
1.反转二叉树这样经典的题目要记住
2.一定注意递归的顺序(前序遍历或者后序遍历)中序是不行的
3.递归三部曲要熟悉
3.对称二叉树:代码随想录 (programmercarl.com)
1、什么时候用后序遍历呢?当我们需要收集孩子的信息并且像上一层返回的时候只能使用后序遍历。
2、递归的基本思想就是自下而上的理解每一层,从最后一层开始操作,操作完了返回给上一层,一层层的处理。
本题总结:这种递归遍历的书写对于目前的我来讲还是太难了,只能先大概的记一下代码形式,之后熟悉之后再慢慢写,对于整个递归的过程,b站收藏夹里面有个视频手动推导了一遍,结合那个视频深入理解一下递归的过程。