自贡北京网站建设/打开一个网站
题目描述
给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7},
{1,2,3,4,#,#,5}
[[1],[2,3],[4,5]]
解题方法
import java.util.*;/** public class TreeNode {* int val = 0;* TreeNode left = null;* TreeNode right = null;* }*/public class Solution {/*** * @param root TreeNode类 * @return int整型ArrayList<ArrayList<>>*/public ArrayList<ArrayList<Integer>> levelOrder (TreeNode root) {// write code hereArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();if (root == null) {return res;}Queue<TreeNode> queue = new LinkedList<TreeNode>();queue.offer(root);while (!queue.isEmpty()) {int curSize = queue.size();ArrayList<Integer> curRes = new ArrayList<Integer>();while (curSize > 0) {TreeNode cur = queue.poll();curRes.add(cur.val);if (cur.left != null) queue.offer(cur.left);if (cur.right != null) queue.offer(cur.right);curSize--;}res.add(curRes);}return res;}
}