有关102题
来源:6-4 队列的典型应用 Binary Tree Level Order Traversal
慕仰7036876
2020-12-03
老师,我主要纠结的点是node.left和node.right到底是左子树右子树还是node这个节点的左边节点,右边节点。因为之前算法中node.left和node.right一直是左子树,右子树。但是这题中,到第二层的9时,他没有左子树,又没有右子树。害理来说应该是进入到下一次循环了,但是之前队列已经将9这个节点弹出了,也就是说队列此时没有节点了。那么就该打印能出结果了。但是我清楚,我这么想肯定是错的,要不然题解也通过不了。我想问的是node.left,node.right难道还会根据情况而变,从左右子树变成左右节点吗?
写回答
1回答
-
其实我没有特别理解你的问题。 node.left 和 node.right 不会变。但是你说的“从左右子树变成左右节点”,左右子树和左右节点是一回事儿。因为我们访问一棵树,靠的是这棵树的根节点。我们访问一整棵树,靠一个 root 就够了。
你可不可以在代码中标记一下,你认为代码执行到哪里,某个变量应该是什么?但实际是什么?你不能理解?
或者如果在哪里加一个打印输出,你认为应该打印输出出来什么?实际打印输出的结果是什么?你不能理解?
032020-12-03
相似问题