515. Find Largest Value in Each Tree Row

来源:互联网 发布:沈阳数据库培训机构 编辑:程序博客网 时间:2024/06/02 03:26

You need to find the largest value in each row of a binary tree.

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    vector<int> largestValues(TreeNode* root) {        queue<TreeNode *> qu;        vector<int> result;        TreeNode * node = NULL;        if(root == NULL){            return result;        }        qu.push(root);        while(!qu.empty()){                               int n = qu.size();            int max = 0;            TreeNode * node = qu.front();            max = node->val;            for(int i = 0;i < n;++i){                      TreeNode * node = qu.front();                if(node->val > max){                    max = node->val;                }                if(node->left){                    qu.push(node->left);                }                if(node->right){                    qu.push(node->right);                }                qu.pop();            }            result.push_back(max);        }        return result;    }};