AC截图
题目
思路
维持一个队列,每次容纳一层的元素即可。
代码
/*** 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<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> res;if(root==NULL){return res;}deque<TreeNode*> dq;dq.push_back(root);vector<int> tmp;while(!dq.empty()){int cnt = dq.size();tmp.clear();while(cnt>0){TreeNode* node = dq.front();tmp.push_back(node->val);dq.pop_front();if(node->left!=NULL){dq.push_back(node->left);}if(node->right!=NULL){dq.push_back(node->right);}cnt--;}res.push_back(tmp);} return res;}
};