515. Find Largest Value in Each Tree Row 發表於 2023-02-13 | 分類於 leetcode problemsolution1234567891011121314151617181920212223242526272829303132333435/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */class Solution {public: vector<int> largestValues(TreeNode* root) { // bfs vector<int> ret; if(!root) return ret; queue<TreeNode*> q; q.push(root); while(!q.empty()){ int size = q.size(); int mx = q.front()->val; for(int i=0;i<size;++i){ TreeNode *p = q.front(); q.pop(); mx = max(mx, p->val); if(p->left) q.push(p->left); if(p->right) q.push(p->right); } ret.push_back(mx); } return ret; }}; analysis time complexity O(n) space complexity O(n)