如何不用递归 列出 树(多叉) 中根节点到叶节点的所有路径(Java)
比如,对于下面这个二叉树,它所有的路径为:
8 -> 3 -> 1
8 -> 2 -> 6 -> 4
8 -> 3 -> 6 -> 7
8 -> 10 -> 14 -> 13
怎么用Java去实现?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
比如,对于下面这个二叉树,它所有的路径为:
8 -> 3 -> 1
8 -> 2 -> 6 -> 4
8 -> 3 -> 6 -> 7
8 -> 10 -> 14 -> 13
怎么用Java去实现?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
不用递归的话,那就深度优先啦!
采用栈, 首先将根结点压入栈,如果栈不为空,而后出栈并输出当前结点中值,而后先把右子树压入栈,再把左子树压入栈,再判断栈是否为空,循环.....
步骤如下:
1) 先把二叉树的根结点入栈
2)判断栈是否为空,不为空,则出栈,并输出出栈树结点的值
3)出栈树结点的右子树入栈
4)出栈树结点的左子树入栈
5)循环回到(2)
这是我之前看到的一个方法,不知道能不能帮到题主?
用栈替代递归:https://zh.coursera.org/learn...
深度优先?。。
使用广度优先遍历,然后状态中储存该节点的所有父节点,到叶子节点后输出。