与429题相同
    注意:vector> 需要使用if(result.size()==depth){ result.emplace_back();来预先准备一个空数组

    1. /**
    2. * Definition for a binary tree node.
    3. * struct TreeNode {
    4. * int val;
    5. * TreeNode *left;
    6. * TreeNode *right;
    7. * TreeNode() : val(0), left(nullptr), right(nullptr) {}
    8. * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
    9. * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
    10. * };
    11. */
    12. class Solution {
    13. public:
    14. vector<vector<int>> levelOrder(TreeNode* root) {
    15. dfs(root,0);
    16. return result;
    17. }
    18. void dfs(TreeNode* root,int depth){
    19. if(root==NULL){
    20. return;
    21. }
    22. if(result.size()==depth){
    23. result.emplace_back();
    24. }
    25. result[depth].emplace_back(root->val);
    26. dfs(root->left,depth+1);
    27. dfs(root->right,depth+1);
    28. }
    29. private:
    30. vector<vector<int>>result;
    31. };