Question

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

Difficulty:Medium

Category:Tree, Breadith-first Search

Analyze

Solution

class Solution {
 public:
  vector<vector<int>> levelOrder(TreeNode *root) {
    vector<vector<int>> res;
    traverse(root, 1, res);
    return res;
  }
  void traverse(TreeNode const *root, int level, vector<vector<int>> &res) {
    if (!root) return;
    if (level > res.size()) res.push_back(vector<int>());
    res[level - 1].push_back(root->val);
    traverse(root->left, level + 1, res);
    traverse(root->right, level + 1, res);
  }
};
By guozetang            Updated: 2020-09-19 13:02:30

results matching ""

    No results matching ""