东阳网站建设有哪些,高端网站建设公司兴田德润在那里,河北网站优化公司,建设网站用什么好给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1#xff1a; 输入#xff1a;root  [3,9,20,null,null,15,7]
输出#xff1a;[3.00000,14.50000,11.00000]
解释#xff1a;第 0 层的平均值为 …给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1 输入root  [3,9,20,null,null,15,7]
输出[3.00000,14.50000,11.00000]
解释第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11 。
因此返回 [3, 14.5, 11] 。示例 2: 输入root  [3,9,20,15,7]
输出[3.00000,14.50000,11.00000]提示 树中节点数量在 [1, 104] 范围内-231  Node.val  231 - 1 /*** 层序遍历*/vectordouble averageOfLevels(TreeNode *root) {queueTreeNode * que;vectordouble result;//如果节点不为空则直接放入if (root ! NULL) que.push(root);//如果队列为空则结束循环while (!que.empty()) {//用于记录每层节点记录加入队列的数量int size  que.size();double sum  0;//统计每一层的和//根据size的数量进行相对应的操作for (int i  0; i  size; i) {//取出相对应的元素TreeNode* node  que.front();//弹出对应元素que.pop();//累加节点的和sum  node-val;//加入完当前节点后再选择它的左节点和右节点if (node-left) que.push(node-left);if (node-right) que.push(node-right);}result.push_back(sum / size);}return result;}