欢迎来到银盒子的世界~
嗷嗷嗷,到了层序遍历了,
stack.append(root),当stack存在,循环遍历此次的stack,由于语言特性,直接len(stack)就行,popleft,append左右孩子,当然判断一下是否存在,这是思路,然后根据题目要求更改
我说忘记了啥,层序遍历是用deque,
就是层序遍历,翻转输出
上面是迭代法前序遍历(奇怪奇怪),下面写一下递归的前序遍历
对了对了,这道题,是比较的内侧相不相同,外侧相不相同,递归的话,后序,返回True or False,外侧是左的左,右的右,内侧是左的右,右的左,停止条件是一个左或右不存在,返回False,都不存在,返回True,或者值不相同,返回False
然后这些是后面补的层序遍历二叉树那些题
这道题,首先是popleft后,next就是[0]的节点,除非是到了最后一位,赋为None
两种解法。递归是后序遍历,取每次左右深度最大的一支,然后是层序遍历
易错点是(1)只有左右孩子都不在才能返回,否则就不是叶子节点(2)只有左孩子没有右孩子,返回左孩子的深度,否则是右孩子的深度,务必有这一步