首页 > 学院 > 开发设计 > 正文

把二叉树打印成多行

2019-11-08 02:13:37
字体:
来源:转载
供稿:网友

题目描述

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行

IDEA

层序法遍历二叉树

CODE

import java.util.*;/*public class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}*/public class Solution {    ArrayList<ArrayList<Integer> > PRint(TreeNode pRoot) {        ArrayList<ArrayList<Integer> > result=new ArrayList<ArrayList<Integer> >();        if(pRoot==null)            return result;        ArrayList<Integer> list=new ArrayList<Integer>();        Queue<TreeNode> que=new LinkedList<TreeNode>();        que.add(pRoot);        int begin=0,end=1;        while(!que.isEmpty()){            TreeNode cur=que.remove();            list.add(cur.val);            begin++;            if(cur.left!=null)                que.add(cur.left);            if(cur.right!=null)                que.add(cur.right);            if(begin==end){                result.add(list);                begin=0;end=que.size();                list=new ArrayList<Integer>();            }        }        return result;    }     }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表