层序遍历二叉树
思想:
使用隊(duì)列Queue實(shí)現(xiàn)
出隊(duì)時(shí),如果隊(duì)首元素有孩子,則把其孩子加入隊(duì)尾
循環(huán)條件是隊(duì)列不為空
import java.util.ArrayList; import java.util.Queue; 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> result=new ArrayList<Integer>();if(root==null)return result;Queue<TreeNode> data=new LinkedList<TreeNode>();data.add(root);while(!data.isEmpty()){TreeNode n=data.poll();result.add(n.val);if(n.left!=null)data.add(n.left);if(n.right!=null)data.add(n.right);}return result;} }Queue:
java.util.Queue;
擴(kuò)展了java.util.Collection接口
?
實(shí)現(xiàn)類有LinkedList
入隊(duì):boolean add(E);
出隊(duì):E poll();
?
?
?
總結(jié)
- 上一篇: 定义栈的数据结构,请在该类型中实现一个能
- 下一篇: 判断给定的整数数组是不是某二叉搜索树的后