本文共 1437 字,大约阅读时间需要 4 分钟。
链接:
题目:求二叉树每一层的最大值;
思路:采用层次遍历方式。
代码:
class Solution {public: vector largestValues(TreeNode* root) { vector ret; if(!root) return ret; queueQ; Q.push(root); int curlow = 1; int nextlow = 0; int maxval = 0; bool newlow = 1; while(!Q.empty()){ TreeNode *t = Q.front(); if(!newlow){ maxval = max(maxval,t->val); } else { maxval = t->val; newlow = 0; } if(t->left) { Q.push(t->left); nextlow++; } if(t->right){ Q.push(t->right); nextlow++; } curlow--; if(curlow==0){ curlow = nextlow; nextlow = 0; ret.push_back(maxval); newlow = 1; } Q.pop(); } return ret; }};
转载地址:http://lirai.baihongyu.com/