温馨提示×

java遍历二叉树的代码怎么写

小亿
82
2023-12-13 17:14:14
栏目: 编程语言

下面是一个使用递归的例子,以中序遍历二叉树为例:

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,表示中序遍历的结果。

你也可以根据需要修改代码实现其他遍历方式,比如前序遍历和后序遍历。

0