Given the root
of a binary tree, invert the tree, and return its root.
Example 1:
Input: root = [4,2,7,1,3,6,9]
Output: [4,7,2,9,6,3,1]
Example 2:
Input: root = [2,1,3]
Output: [2,3,1]
Example 3:
Input: root = []
Output: []
Constraints:
- The number of nodes in the tree is in the range
[0, 100]
. 100 <= Node.val <= 100
-
PHP
Runtime 4ms Beats 76.82% of users with PHP
Memory 19.64 MB Beats 96.03% of users with PHP
/** * Definition for a binary tree node. * class TreeNode { * public $val = null; * public $left = null; * public $right = null; * function __construct($val = 0, $left = null, $right = null) { * $this->val = $val; * $this->left = $left; * $this->right = $right; * } * } */ class Solution { /** * @param TreeNode $root * @return TreeNode */ function invertTree($root) { if (is_null($root)) { return $root; } $tmp = $this->invertTree($root->left); $root->left = $this->invertTree($root->right); $root->right = $tmp; return $root; } }
-
GoLang
Runtime 0 ms Beats 100%
Memory 2.2 MB Beats 10.77%
/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func invertTree(root *TreeNode) *TreeNode { if root == nil { return root } root.Left, root.Right = invertTree(root.Right), invertTree(root.Left) return root }