输出二叉树中第m层的第k个节点值
来源:互联网 发布:java enum getname 编辑:程序博客网 时间:2024/06/04 19:53
复习数据结构与算法看到个很有意思的题,题目是输出二叉树中第m层的第k个节点值,其中m和k均从0开始计数。
其实该题就是一道二叉树广度优先遍历的变形,其中再加上一点技巧就可以得到结果。
递归方法:
int Print(Node *root , int m , int *cnt){ if(!root || m < 0) return 0; if(m == 0) { if(*cnt == k) { printf("%c", root->chValue); return 1; } *cnt += 1; return 0; } return Print(root->lChild , m - 1 , cnt) || Print(root->rChild , m - 1 , cnt);}
非递归方法:用队列的方式做一广度优先,加上层数的统计即可,到m层输出第k个即可
0 0
- 输出二叉树中第m层的第k个节点值
- 输出二叉树第 m 层的第 k 个节点值
- 输出二叉树中,第m层的第k个节点值
- 二叉树m层的第k个节点
- 二叉树(9)----打印二叉树中第K层的第M个节点,非递归算法
- 二叉树第K层的第M个节点 -- 采用非递归层次遍历实现
- 打印二叉树中第m层第k个节点(递归+非递归)
- 求非完全二叉树第m层第k个节点
- 求非完全二叉树第m层第k个节点
- 百度笔试题:求非完全二叉树第m层第k个节点
- 求二叉树第m层上的第K个结点的值
- C++算法之 求二叉树第k层的节点的个树
- 二叉树输出先序遍历的第k个节点
- 求二叉树第k 层的节点数
- 求二叉树第K层的节点个数
- 二叉树第k层的叶子节点数
- 求二叉树叶子节点的个数+求二叉树第k层的节点个数
- 求二叉树叶子节点的个数/求二叉树第k层的节点个数。
- PAT 1052. Linked List Sorting
- Android 开发环境配置图文教程(jdk+eclipse+android sdk)
- 台阶
- LeetCode(63)UniquePath2
- 正则表达式模板
- 输出二叉树中第m层的第k个节点值
- KanKanStyle转载:Android开发高级动画接口 Interpolator
- Java中取得泛型的类型
- Apache Shiro
- 大将军始终没能摆脱致命攻击
- 关于系统设计灵活性的思考
- Understanding the Bias-Variance Tradeoff
- Using Properties (C# Programming Guide)
- 【算法学习】最优二叉查找树(动态规划)