跳至主要內容

102_二叉树的层序遍历

T4mako算法广度优先二叉树小于 1 分钟

102_二叉树的层序遍历

中等
class Solution {
    public List<List<Integer>> levelOrder(TreeNode root) {
        List<List<Integer>> res = new ArrayList<>();
        if(root == null){
            return res;
        }
        Queue<TreeNode> temp = new LinkedList<>();
        temp.add(root);
        while(temp.size() != 0){
            ArrayList<Integer> list = new ArrayList<>();
            int len = temp.size();
            for (int i = 0; i < len; i++) {
                TreeNode node = temp.poll();
                list.add(node.val);
                if(node.left != null){
                    temp.add(node.left);
                }
                if(node.right != null){
                    temp.add(node.right);
                }
            }
            res.add(list);
        }
        return res;
    }
}

将根节点存到LinkedList中,当temp的长度不为0时,队列元素出队,将他的左右节点入队,出队的所有元素存入数组中,最后当temp为0时,结束循环。

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.5