作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试解决以下算法:
You have an n-ary tree. Find all the nodes satisfying the following condition:
- the node has child node(s) but all of the child nodes are leafs (they have no children ). Return a list of leaf only parent nodes and their depth in the tree.
所以如果我有下面的树,唯一满足上述条件的节点是 D,因为它有后代 (E) 但他们没有 child 。
I am root!
/\ \
A B F
/\
C D
\
E
我正在尝试用 Java 实现它,但伪代码也适用于我。我在这里实现了树和节点结构:N-ary trees in Java .
我只需要算法。
最佳答案
如果完成所有节点:返回列表
根/\\A B F/\CD \ E
运行示例:
要完成这项工作,您应该为正在检查的节点运行一个计数器(以查看是否存在孙节点),并且您还应该有一种方法知道节点是否已从列表中删除,以便您不会插入它再次(我没有明确地写它,但我使用了 2 个列表 - 1 个用于潜力,1 个用于最终)
关于algorithm - 如何在 n 叉树中找到只有叶子的父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41321031/
我是一名优秀的程序员,十分优秀!