zoukankan      html  css  js  c++  java
  • LeetCode 637. Average of Levels in Binary Tree

    637. Average of Levels in Binary Tree

    Given a non-empty binary tree, return the average value of the nodes on each level in the form of an array.

    Example 1:

    Input:
        3
       / 
      9  20
        /  
       15   7
    Output: [3, 14.5, 11]
    Explanation:
    The average value of nodes on level 0 is 3,  on level 1 is 14.5, and on level 2 is 11. Hence return [3, 14.5, 11].

    Note:

    1. The range of node's value is in the range of 32-bit signed integer.
    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        vector<double> averageOfLevels(TreeNode* root) {
            vector<double> res;
            double ave = 0;
            queue<TreeNode*> st;
            st.push(root);
            while (!st.empty())
            {
                long long tmp = 0;
                int len = st.size();
                for (int i = 0; i < len; i++)
                {
                    TreeNode *qn = st.front(); st.pop();
                    if (qn->left) st.push(qn->left);
                    if (qn->right) st.push(qn->right);
                    tmp += qn->val;
                }
                res.push_back((double)tmp / len);            
            }
            
            return res;
        }
    };

  • 相关阅读:
    Java SE(2)
    Java SE(1)
    第二次作业
    Markdown 进阶
    关于主题
    Markdown入门指南
    网络游戏架构与微服务架构简单对比
    微服务框架的存储架构
    轻量级微服务框架的通信架构
    页面静态化
  • 原文地址:https://www.cnblogs.com/douzujun/p/10899802.html
Copyright © 2011-2022 走看看