剑指offer第二十二题。

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

解题思路

树的层序遍历,没啥好说的了。常规题目,面试常见。

我的答案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Solution {
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
ArrayList<Integer> result = new ArrayList<>();
if(root == null){
return result;
}

LinkedList<TreeNode> queue = new LinkedList<>();
queue.add(root);

while(!queue.isEmpty()){
TreeNode tmpNode = queue.remove(0);
if(tmpNode.left != null){
queue.add(tmpNode.left);
}
if(tmpNode.right != null){
queue.add(tmpNode.right);
}
result.add(tmpNode.val);
}

return result;
}
}