阅读量:0
下面是一个使用递归的例子,以中序遍历二叉树为例:
class TreeNode { int val; TreeNode left; TreeNode right; public TreeNode(int val) { this.val = val; this.left = null; this.right = null; } } public class BinaryTreeTraversal { public void inorderTraversal(TreeNode root) { if (root != null) { inorderTraversal(root.left); System.out.print(root.val + " "); inorderTraversal(root.right); } } public static void main(String[] args) { /* 1 / \ 2 3 / \ 4 5 */ TreeNode root = new TreeNode(1); root.left = new TreeNode(2); root.right = new TreeNode(3); root.left.left = new TreeNode(4); root.left.right = new TreeNode(5); BinaryTreeTraversal btt = new BinaryTreeTraversal(); System.out.println("Inorder traversal:"); btt.inorderTraversal(root); } }
输出结果为:4 2 5 1 3,表示中序遍历的结果。
你也可以根据需要修改代码实现其他遍历方式,比如前序遍历和后序遍历。