二叉数的层序遍历是从上到下,从左到右来遍历
层序遍历的结果就是28 16 30 13 22 29 42
import java.util.ArrayList; /**
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<>(); //这里用ArrayList来实现队列的效果 ArrayList<TreeNode> queue = new ArrayList<>(); if(root == null) { return list; } queue.add(root); while(!queue.isEmpty()) { //获取队列中的第一个元素 TreeNode first = queue.remove(0); //把第一个元素加进集合中 list.add(first.val); //然后把第一个元素的左节点加入队列 if(first.left != null) { queue.add(first.left); } //然后把第一个元素的右节点加入队列 if(first.right != null) { queue.add(first.right); } } return list; } }
如果不明白可以看
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论