中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python二叉樹的層平均值是什么

發布時間:2021-12-13 16:27:44 來源:億速云 閱讀:137 作者:柒染 欄目:大數據

這期內容當中小編將會給大家帶來有關python二叉樹的層平均值是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

主要記錄一下python二叉樹的層平均值

題目

給定一個非空二叉樹, 返回一個由每層節點平均值組成的數組。

 

示例 1:

輸入:
    3
   / \
  9  20
    /  \
   15   7
輸出:[3, 14.5, 11]
解釋:
第 0 層的平均值是 3 ,  第1層是 14.5 , 第2層是 11 。因此返回 [3, 14.5, 11] 。

 

提示:

    節點值的范圍在32位有符號整數范圍內。

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/average-of-levels-in-binary-tree
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

題解

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public List<Double> averageOfLevels(TreeNode root) {
        if (root == null) {
            return Collections.emptyList();
        }
        List<Double> result = new ArrayList<Double>();
        Queue queue = new LinkedList();
        queue.offer(root);
        while(!queue.isEmpty()) {
            int size = queue.size();
            double sum = 0;
            for(int i=0; i< size; i++){
                TreeNode node = (TreeNode)queue.poll();
                sum += node.val;
                if (node.left != null) {
                    queue.offer(node.left);
                }
                if (node.right !=null) {
                    queue.offer(node.right);
                }
            }

            result.add(sum*1.0/size);
        }
        return result;
    }
}

這里借助隊列進行層次遍歷,每次先記錄queue的size,然后按size來poll,取出元素累加sum,然后把不為null的node.left及node.right放入到queue中,最后計算sum/size放入到result中。

上述就是小編為大家分享的python二叉樹的層平均值是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海晏县| 驻马店市| 英吉沙县| 高邮市| 焦作市| 荆州市| 卫辉市| 杨浦区| 昌图县| 富阳市| 介休市| 盐边县| 南汇区| 华蓥市| 宁波市| 西林县| 乐东| 嘉鱼县| 广灵县| 林芝县| 台中市| 章丘市| 临高县| 托克托县| 新蔡县| 特克斯县| 手机| 扎鲁特旗| 青冈县| 石台县| 兴安盟| 图们市| 商丘市| 塔河县| 嘉义县| 丽江市| 灌阳县| 漠河县| 巴塘县| 滁州市| 定边县|