題解:翻轉二叉樹(226)

題目鏈接:https://leetcode-cn.com/problems/invert-binary-tree/

翻轉一棵二叉樹。

示例:

輸入:

     4
   /   \
  2     7
 / \   / \
1   3 6   9
輸出:

     4
   /   \
  7     2
 / \   / \
9   6 3   1

這道題就是用遞歸翻轉左右子節點就可以了,不知道爲什麼我的代碼佔用內存很大,到了35MB,想進行優化,結果收效甚微,希望有大佬指點一下

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode invertTree(TreeNode root) {
        invert(root);
        return root;
    }
    public static void invert(TreeNode root){
        if(root == null){
            return;
        }
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;
        invert(root.left);
        invert(root.right);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章