LeetCode题解:Binary Tree Level Order Traversal

来源:互联网 发布:淘宝店上传宝贝教程 编辑:程序博客网 时间:2024/05/22 15:49

Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).

题意:层序遍历

思路:……

代码:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public List<List<Integer>> levelOrder(TreeNode root) {        Queue<TreeNode> queue = new LinkedList<TreeNode>();        List<List<Integer>> wrapList = new LinkedList<List<Integer>>();        if(root == null) return wrapList;        queue.offer(root);        while(!queue.isEmpty()){            int levelNum = queue.size();            List<Integer> subList = new LinkedList<Integer>();            for(int i=0; i<levelNum; i++) {                if(queue.peek().left != null) queue.offer(queue.peek().left);                if(queue.peek().right != null) queue.offer(queue.peek().right);                subList.add(queue.poll().val);            }            wrapList.add(subList);        }        return wrapList;    }}
0 0