Java教程

Java二叉树前序遍历(递归+非递归)

本文主要是介绍Java二叉树前序遍历(递归+非递归),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

递归:

    public void preOrderRecur(Node root) {
		if (root == null) {
			return;
		}
		System.out.print(root.data + " -> ");
		preOrderRecur(root.left);
		preOrderRecur(root.right);
	}

非递归:

    public void preOrder() {
		if (root == null)
			return;
		Node current;
		//把LinkedList当栈使用
		LinkedList<Node> s = new LinkedList<Node>();
		s.addFirst(root);
		while (!s.isEmpty()) {
			current = s.removeFirst();
			System.out.print(current.data + " -> ");
			if (current.right != null)
				s.addFirst(current.right);
			if (current.left != null)
				s.addFirst(current.left);
		}

	}

 

这篇关于Java二叉树前序遍历(递归+非递归)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!