个人技术分享

翻转二叉树可以使用递归的方式来实现。具体步骤如下:

1. 如果二叉树为空,则直接返回空。

2. 交换二叉树的左右子树。

3. 递归地对左右子树进行翻转。

下面是Java代码实现:

class TreeNode {

    int val;

    TreeNode left;

    TreeNode right;



    TreeNode(int val) {

        this.val = val;

    }

}



public class Solution {

    public TreeNode invertTree(TreeNode root) {

        if (root == null) {

            return null;

        }

        

        // 交换左右子树

        TreeNode temp = root.left;

        root.left = root.right;

        root.right = temp;

        

        // 递归地翻转左右子树

        invertTree(root.left);

        invertTree(root.right);

        

        return root;

    }

}

在上面的代码中,我们首先判断二叉树是否为空,如果为空则直接返回。然后交换当前节点的左右子树,并递归地对左右子树进行翻转。最后返回翻转之后的二叉树根节点。

(文章为作者在学习java过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)