• 32: Binary Tree Level Order Traversal


        /************************************************************************/
            /*       32:      Binary Tree Level Order Traversal                                          */
            /************************************************************************/
            /*
             * Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

    For example:
    Given binary tree {3,9,20,#,#,15,7},

        3
       /
      9  20
        / 
       15   7

    return its level order traversal as:

    [
      [3],
      [9,20],
      [15,7]
    ]

    confused what "{1,#,2,3}" means? > read more on how binary tree is serialized on OJ.
             * */
            
            //从根节点到叶子节点分层遍历树

    public List<List<Integer>> levelOrder(TreeNode root) {
                List<List<Integer>> result = new ArrayList<>();
                List<TreeNode> level = new ArrayList<>();
                level.add(root);
                while(true){
                    if (level.isEmpty() || level.get(0) == null){
                        break;
                    }
                    List<TreeNode> nextLevel = new ArrayList<>();
                    List<Integer> currentLevel = new ArrayList<>();
    
                    for (TreeNode node : level){
                        currentLevel.add(node.val);
                        if (node.left != null) nextLevel.add(node.left);
                        if (node.right != null) nextLevel.add(node.right);
                    }
                    result.add(currentLevel);
                    level = nextLevel;
                }
                return result;
                }
  • 相关阅读:
    Python partition() 方法
    汽车车灯灯具系统(下)
    汽车车灯灯具系统(上)
    语义和边缘:从噪声和符号中学习
    AI解决方案:边缘计算和GPU加速平台
    GPU与显卡
    图像处理 100 问!!
    匹配算法:局部结构保留
    图像拼接技术
    SLAM的通用框架:GSLAM
  • 原文地址:https://www.cnblogs.com/theonemars/p/4254101.html
Copyright © 2020-2023  润新知