标签:solution integer pop deque imp 一个 nod 打印二叉树 遍历
\(\color{#FF7D00}{题目描述}\)
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
\(\color{#FF7D00}{解题:借用队列存一个节点,遍历它的值以及左右孩子的值之后,将左右孩子依次入队列,再循环如此的操作直至队列为空。}\)
import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
/**
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
ArrayList<Integer> list = new ArrayList<Integer>();
if(root == null) return list;
Deque<TreeNode> deque = new LinkedList<TreeNode>();
deque.add(root);
while(!deque.isEmpty()){
TreeNode t = deque.pop();
list.add(t.val);
if(t.left != null) deque.add(t.left);
if(t.right != null) deque.add(t.right);
}
return list;
}
}
标签:solution integer pop deque imp 一个 nod 打印二叉树 遍历
原文地址:https://www.cnblogs.com/cstdio1/p/12213187.html