我如何遍历二叉树?

我如何遍历二叉树?,第1张

我如何遍历二叉树?

您可以将其更改为Iteration而不是递归吗?

您可以使用显式堆栈。伪代码

private static void iterateall(BinaryTree foo) {    Stack<BinaryTree> nodes = new Stack<BinaryTree>();    nodes.push(foo);    while (!nodes.isEmpty()) {        BinaryTree node = nodes.pop();        if (node == null) continue;        System.out.println(node.node);        nodes.push(node.right);        nodes.push(node.left);    }}

但这并不真正优于递归代码(除了代码中缺少的基本条件)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4984251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存