leetcode32 面试题32 - II. 从上到下打印二叉树 II
从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其层次遍历结果:
[
[3],
[9,20],
[15,7]
]
提示:
节点总数 <= 1000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof
bfs层序遍历
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> res = new ArrayList<>(); if(root==null){//当root为空时 return res; } LinkedList<TreeNode> q = new LinkedList<>(); q.add(root); while(!q.isEmpty()){ List<Integer> tt = new ArrayList(); int len = q.size(); //获取每层的长度 for(int i=0; i<len; i++){ TreeNode node = q.removeFirst(); tt.add(node.val); if(node.left!=null) q.add(node.left); if(node.right!=null) q.add(node.right); } res.add(tt); } return res; } }
浙公网安备 33010602011771号