leetcode226_翻转二叉树

翻转这个操作也是需要遍历,遍历无非dfs或者bfs,dfs无非前中后序遍历。这里采用前序遍历或者后序遍历,否则有的会被翻转两次。

最重要的是,翻转的时候传入的参数是root,而非要被翻转的两个节点。

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root==null) return root;
        swapNode(root);
        invertTree(root.left);
        invertTree(root.right);
        return root;
    }
    private void swapNode(TreeNode root) {
        TreeNode tmp = root.left;
        root.left = root.right;
        root.right = tmp;
    }
}
posted @ 2022-02-25 22:36  明卿册  阅读(10)  评论(0编辑  收藏  举报