下面给大家分享的是java二叉树前序遍历的递归以及非递归实现的例子,想了解的人一起来看看下面的实例吧。
1、前序遍历
了解一下访问顺序:
首先是根节点,之后是左子树,最后是右子树;
上面示图的访问结果为GDAFEMHZ;
(1)递归实现
来看一下递归实现代码:public void preOrderTraverse1(TreeNode root)
{
if (root != null)
{
System.out.print(root.val + "->");
preOrderTraverse1(root.left);
preOrderTraverse1(root.right);
}
}
(2)非递归实现
来看一下非递归实现代码:public void preOrderTraverse2(TreeNode root)
{
Stack stack = new Stack ();
TreeNode node = root;
while (node != null || !stack.empty())
{
if (node != null)
{
System.out.print(node.val + "->");
stack.push(node);
node = node.left;
}
else
{
TreeNode tem = stack.pop();
node = tem.right;
}
}
}
以上的实现你都了解了吗?你还想了解更多和java二叉树有关的实现实例吗?可以继续关注奇Q工具网,里面有更多的java程序代码例子可以给你分享哦。
推荐阅读: