> 技术文档 > 102. 二叉树的层序遍历

102. 二叉树的层序遍历

目录

题目链接

题目

解题思路

代码


题目链接

102. 二叉树的层序遍历 - 力扣(LeetCode)

题目

解题思路

队列:先讲头节点入队,然后记录当前队列大小就知道下一次该遍历几个

代码

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */class Solution { public List<List> levelOrder(TreeNode root) { List<List> res =new ArrayList<List>(); Deque lode =new ArrayDeque  (); int size; if(root!=null) { lode.add(root); } while(!lode.isEmpty()) { List level =new ArrayList(); size = lode.size(); for(int i=0;i<size;i++){  TreeNode node = lode.remove(); level.add(node.val); if(node.left!=null){ lode.add(node.left); } if(node.right!=null){ lode.add(node.right); } } res.add(level); } return res; }}