Leetcode226.翻轉二叉樹 Invert Binary Tree(Java)

LawSaiWai發表於2020-12-24

Leetcode226.翻轉二叉樹 Invert Binary Tree(Java)

##Tree##

翻轉一顆二叉樹,採用前序遍歷

每次遞迴交換左右子樹

空結點時返回空結點或不處理空結點

本題也可以採用其他遍歷方式,例如迭代法,層次遍歷等

時間複雜度: O(n)

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root != null) {
            TreeNode temp = root.left;
            root.left = root.right;
            root.right = temp;
            invertTree(root.left);
            invertTree(root.right);
        }
        return root;
    }
}

相關文章