加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

把二叉树打印成多行

发布时间:2020-12-13 21:10:56 所属栏目:PHP教程 来源:网络整理
导读:题目 从上到下按层打印2叉树,同1层结点从左至右输出。每层输出1行。 解题 2叉树的层次遍历 用队列 import java . util . ArrayList; import java . util . * ; /*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; publi

题目

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

解题

2叉树的层次遍历
用队列

import java.util.ArrayList; 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<Integer> row = new ArrayList<Integer>(); ArrayList<ArrayList<Integer> > result = new ArrayList<ArrayList<Integer> >(); if(pRoot == null) return result; Queue<TreeNode> queue = new LinkedList<TreeNode>(); queue.offer(pRoot); while(!queue.isEmpty()){ int size = queue.size(); row = new ArrayList<Integer>(); while((size--)>0){ TreeNode node = queue.poll(); row.add(node.val); if(node.left!=null) queue.offer(node.left); if(node.right!=null) queue.offer(node.right); } result.add(row); } return result; } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读