层序遍历
1.需要自定义的:result queue level
在Python中,有几种方式可以翻转一个列表:
使用切片(Slicing):可以使用切片操作来翻转列表,通过指定步长为-1,即可实现翻转。示例代码如下:
my_list = [1, 2, 3, 4, 5]
reversed_list = my_list[::-1]
print(reversed_list)
使用reverse()方法:列表对象具有reverse()方法,调用该方法可以直接翻转列表(原地翻转)。示例代码如下:
my_list = [1, 2, 3, 4, 5]
my_list.reverse()
print(my_list)
使用reversed()函数:reversed()函数可以返回一个反向迭代器,我们可以使用list()函数将其转换为列表。示例代码如下:
my_list = [1, 2, 3, 4, 5]
reversed_list = list(reversed(my_list))
print(reversed_list)
cur.children是个列表
python中的负无穷大怎么写: max_val = float(‘-inf’)
116. 填充每个节点的下一个右侧节点指针
本题的输入root和其他的不一样,没有null
没懂他是怎么让’#’ 标志着每一层的结束的(只是用于标记每层的结束,这是关键代码段,没有输入输出一说)
单层遍历的时候记录一下本层的头部节点,然后在遍历的时候让前一个节点指向本节点就可以了
111.二叉树的最小深度
只有当左右孩子都为空时才说明遍历到最低点了
if not node.left and not node.right:
return depth
这里要直接return,不能用break,如果用break,只有里面的for循环停止了,外面的while循环还没有停止
翻转二叉树
迭代法不会
层序遍历法不会
对称二叉树
什么情况下必须使用后序遍历:需要收集孩子的信息返回给根节点