题目:二叉树的层次遍历 II
1. 代码①:深度优先搜索(链接)
/*** 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<vector<int>> levelOrder(TreeNode* root) {if(!root)return vector<vector<int>>{};queue<TreeNode *> qu;vector<vector<int>> rems;TreeNode *p;qu.push(root);while(!qu.empty()){int n = qu.size();vector<int> nums;while(n--){p = qu.front();qu.pop();nums.push_back(p->val);if(p->left)qu.push(p->left);if(p->right)qu.push(p->right); }rems.push_back(nums);} reverse(rems.begin(), rems.end());return rems;}
};