Leetcode#637二叉树的层平均值
水题,直接一个裸的广搜,按层遍历树的每一层即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution { queue<TreeNode*>qu; vector<double>ans; public: vector<double> averageOfLevels(TreeNode* root) { qu.push(root); while(!qu.empty()) { int cnt = qu.size(); double temp = 0; for(int i = 0 ; i < cnt ;i ++) { temp += qu.front() -> val; if(qu.front() -> left != NULL) qu.push(qu.front() -> left); if(qu.front() -> right != NULL) qu.push(qu.front() -> right); qu.pop(); } ans.push_back(temp/cnt); } return ans; } };
|
尝试用auto声明居然出现了误差,不知道为什么会自动成int类型,果然还是菜啊