leetcode-515. Find Largest Value in Each Tree Row

来源:互联网 发布:两个蓝牙单片机通信 编辑:程序博客网 时间:2024/05/18 03:43

利用队列;

代码:

/** * 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) {        vector<int> ret;        if (root==NULL)            return ret;        queue<TreeNode*> q;        q.push(root);        while (q.size()) {            int len = q.size();            int maxi = INT_MIN;            for (int i=0; i<len; i++) {                TreeNode * temp = q.front();                q.pop();                if (temp->val > maxi)                    maxi = temp->val;                if (temp->left)                    q.push(temp->left);                if (temp->right)                    q.push(temp->right);            }            ret.push_back(maxi);        }        return ret;    }};
1 0
原创粉丝点击