输出二叉树某一层的所有结点
来源:互联网 发布:淘宝旗袍模特周婷资料 编辑:程序博客网 时间:2024/05/16 19:23
题目:给定二叉树的根结点指针以及链表上结点的深度,返回一个链表,代表该深度上从左往右所有结点的值。
方法
递归遍历,刚开始为深度为dep,每往下递归一层,则深度减1,当深度为1的时候,便输出那个元素,如果先递归左子树,那么则实现从左到右打印,如果先递归右子树,则实现从右往左打印。
struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class TreeLevel {public: ListNode *result = new ListNode(-1); ListNode *p = result; ListNode* getTreeLevel(TreeNode* root, int dep) { if(root == nullptr || dep <= 0) return nullptr; if(dep == 1){ p->next = new ListNode(root->val); p = p->next; } else{ getTreeLevel(root->left, dep-1); getTreeLevel(root->right, dep-1); } return result->next; }};
阅读全文
0 0
- 输出二叉树某一层的所有结点
- 《程序员面试金典》--输出二叉树中某一层的所有元素
- 打印二叉树第K层的所有结点
- 得到二叉树指定层的所有结点
- 构造二叉树的抽象数据类型对于给定的先序序列和中序序列,构造二叉树,并按层输出所有结点内容,要求每层结点输出一行按层输出上述二叉树所表示的森林的所有结点内容
- 给定一棵二叉树,创建含有某一深度上所有结点的链表
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
- 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
- 打印二叉树的某一层
- 【九度】题目1176:输出完全二叉树的某一层数据
- 剑指offer:输出二叉树和为某一值的所有路径
- 递归输出二叉树的每个结点
- 【九度】题目1113:完全二叉树 求某一结点的子结点
- 二叉树求两个结点的父节点及一个结点的所有祖先结点
- 完全二叉树指向同一层的相邻结点
- 如何在vs studio中使用代码云托管
- 时钟向量简介
- 小流量 AB 测试能做吗?能!
- (部分原创)unity项目开发中VR工程的优化(上)
- Kotlin初步代码编写
- 输出二叉树某一层的所有结点
- java基础--循环结构for,while和do..while的区别
- 关于JavaScript中constructor属性的灵活使用
- Centos装完MySQL模块后还是报 No module named MySQLdb错误
- (97)蓝图函数
- Kotlin 踩坑日记(一)Kotlin Dagger2 配置使用
- UIPickerView设置字体的方法
- 如何识别分割凹多边形
- Jenkins持续化构建Android项目(一)-安装配置Jenkins(by 星空武哥)