前言:
当一眼看不出问题中隐藏的规律时,我们可以试着用一两个具体的例子模拟操作的过程,说不定这样那就能通过具体的例子找到抽象的规律。
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
解题思路
再熟悉不过的层序遍历,BFS即可实现。用队列来进行层序遍历,同时用一个vector容器来存储每一层的值。
举例如下:
python 代码实现:
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# 返回从上到下每个节点值列表,例:[1,2,3]
def PrintFromTopToBottom(self, root):
# write code here
result=[]
if not root:
return []
que=[]
que.append(root)
while len(que):
t=que.pop(0)
result.append(t.val)
if t.left:
que.append(t.left)
if t.right:
que.append(t.right)
return result