博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
637. Average of Levels in Binary Tree
阅读量:5209 次
发布时间:2019-06-14

本文共 1290 字,大约阅读时间需要 4 分钟。

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   7Output: [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.
给定一颗二叉树,求出二叉树每一层节点的平均值,第一反应是使用二叉树的层次遍历,先回忆一下二叉树的层次遍历
void level_tree(bintree t){      Queue q;      bintree temp;      if(!t){          printf("the tree is empty\n");          return ;      }      q.add(t);      while(!q.isEmpty){          t=poll(q);   //出队        printf("%c ",t.val);          if(t.left != null){               q.add(t.left);        }          if(t.right != null){              q.add(t.right);         }      }  }

 

 
有了模型之后,并不能直接使用,因为这一题要的是每一层的均值,我们需要记录下某一层的节点都有哪些,层次遍历时候,当开始遍历某一层时,队列的大小就是该层的节点数。
public List
averageOfLevels(TreeNode root) { List < Double > res = new ArrayList < > (); Queue
q=new LinkedList<>(); q.add(root); while(!q.isEmpty()) { int n = q.size(); double sum = 0.0; for(int i = 0; i

 

 
 
 
 
 

转载于:https://www.cnblogs.com/wxshi/p/7598545.html

你可能感兴趣的文章
Python命名规范
查看>>
50款漂亮的国外婚礼邀请函设计(上篇)
查看>>
MD5加密简单算法
查看>>
安装Qcreator2.5 + Qt4.8.2 + MinGW_gcc_4.4 (win7环境)
查看>>
代码检查
查看>>
滚动条
查看>>
程序员的自我修养九Windows下的动态链接
查看>>
记一次修改数据库引擎的方法
查看>>
开发工具 idea 激活方法
查看>>
BZOJ 4052: [Cerc2013]Magical GCD
查看>>
libevent和libcurl的一些学习
查看>>
iOS的横屏(Landscape)与竖屏(Portrait)InterfaceOrientation
查看>>
JS中 window的用法
查看>>
Codeforces Round #361 (Div. 2)
查看>>
oauth2学习
查看>>
Python time & datetime & string 相互转换
查看>>
细说WebSocket - Node篇
查看>>
【pwnable.kr】 flag
查看>>
1014 装箱问题——http://codevs.cn/problem/1014/
查看>>
poj 3177 边双联通 **
查看>>