/**
* 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 {
private:
vector<vector<int>> vec;
int max_level= 0;
void dfs(TreeNode* root,int level)
{
if(root == NULL) return;
if(vec.size() < level)
{
max_level = level;
vector<int> v;
vec.insert(vec.begin(),v);
}
vec[max_level - level].push_back(root->val);
dfs(root->left,level+1);
dfs(root->right,level+1);
}
public:
vector<vector<int>> levelOrderBottom(TreeNode* root) {
dfs(root,1);
return vec;
}
};
LeetCode 107. Binary Tree Level Order Traversal II
最新推荐文章于 2023-11-07 00:14:20 发布
本文介绍了一种二叉树的层次遍历算法,并通过一个具体的C++实现进行了详细解析。该算法采用深度优先搜索(DFS)的方式从根节点开始逐层遍历二叉树,最终返回一个二维数组,数组中的每个元素都是一个包含对应层级所有节点值的列表。
摘要由CSDN通过智能技术生成