第107题是什么歌提名

  • 你的回答被采纳后将获得:
  • 系统獎励15(财富值+成长值)+难题奖励30(财富值+成长值)

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

这三道题都考察的都是二叉树的廣度优先遍历二叉树的广度优先遍历非常明显,就是按照顺序输出每一层的节点这三题都是一个套路,同一种方法只要做一点修改就荇了

102 题 二叉树的层次遍历

这一题是为了按照顺序输出给定二叉树的每一层节点的值,其中每一层的值作为一个数组具体题目见下:
解法是先用一个列表temp保存根节点,然后循环判断temp是否为空如果不为空,就先将temp中节点的值全部加入到返回数组中接下来就开始遍历该列表,如果列表的左右节点存在就加入新生成的子节点列表中,这样遍历后将子节点列表赋值为temp,接着循环
这种解法并没有使用递归,所以要快一点

103题 二叉树的锯齿形层次遍历

该题和102题比较相似,就是从上到下按层输出节点的值但不同的是每层输出的值顺序不一样。
这一题针对102题的解法只要做一点改动就好了上题中在加入每一层节点值的时候,要注意加入的顺序即是顺序加入还是倒序加入。

107题 ②叉树的层次遍历 II

107题的输出和102题的正好相反所以直接将102题的结果逆序输出即满足题意。
但是我写了另外一种解法是使用递归来解题。即先设置数组temp=[root]然后写递归函数来遍历temp,如果temp中的节点由左右儿子那么加入新的数组。这样遍历结束后判断儿子节点数组是否包含元素,如果有那么将儿子数组代入递归函数中,继续递归如果没有,说明当前数组已经是叶子节点了那么将数组所有节点的值加入返囙数组,并退出当前函数 返回上层函数。

102 题 二叉树的层次遍历

103题 二叉树的锯齿形层次遍历

107题 二叉树的层次遍历 II

# 这里使用广度优先遍历并加上头递归(先递归后操作)

我要回帖

更多关于 是什么歌提 的文章

 

随机推荐