模板:
- public:
- vector<int> decorateRecord(TreeNode* root) {
- vector<int> res;
- if(!root) return res;
- queue
que; - que.push(root);
- while(!que.empty()){
- TreeNode* node = que.front();
- que.pop();
- res.push_back(node->val);
- if(node->left) que.push(node->left);
- if(node->right) que.push(node->right);
- }
- return res;
- }
- public:
- vector
int>> levelOrder(TreeNode* root) { - queue
q; - if(root) q.push(root);
- vector
int>> result; - while(!q.empty()){
- int size=q.size();
- //每层定义一个path路径
- vector<int> path;
- //这里一定要用固定大小size,不要使用q.size(),因为q.size()是不断变化的
- for(int i=0;i
- TreeNode* node=q.front();
- path.push_back(node->val);
- q.pop();
- if(node->left) q.push(node->left);
- if(node->right) q.push(node->right);
- }
- result.push_back(path);
- }
- return result;
- }