From 880d458212173993d1e6bddb097ad53b1b497831 Mon Sep 17 00:00:00 2001 From: Nezuko-Wen <409053122@qq.com> Date: Tue, 4 Aug 2020 23:50:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E5=8F=89=E6=A0=91=E7=9A=84=E5=B9=BF?= =?UTF-8?q?=E5=BA=A6=E9=81=8D=E5=8E=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/leecode/No102.java | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/leecode/No102.java diff --git a/src/leecode/No102.java b/src/leecode/No102.java new file mode 100644 index 0000000..4f122a7 --- /dev/null +++ b/src/leecode/No102.java @@ -0,0 +1,50 @@ +package leecode; + +import java.util.ArrayList; +import java.util.List; +import java.util.Queue; +import java.util.concurrent.LinkedBlockingQueue; + +/** + * 二叉树的广度遍历 + */ +public class No102 { + + public static void main(String[] args) { + + } + + public static List> levelOrder(TreeNode root) { + List> result = new ArrayList<>(); + if (root == null){ + return result; + } + Queue queue = new LinkedBlockingQueue<>(); + queue.offer(root); + while (!queue.isEmpty()) { + //当前层数的元素个数 + int qSize = queue.size(); + List layerList = new ArrayList<>(); + while (qSize > 0){ + qSize --; + TreeNode node = queue.poll(); + layerList.add(node.val); + if (node.left != null){ + queue.offer(node.left); + } + if (node.right != null){ + queue.offer(node.right); + } + } + result.add(layerList); + } + return result; + } + + public static class TreeNode { + int val; + TreeNode left; + TreeNode right; + TreeNode(int x) { val = x; } + } +}