题目:[1]
翻转一棵二叉树。
4
/ \
2 7
/ \ / \
1 3 6 9
输出
4
/ \
7 2
/ \ / \
9 6 3 1
抛砖引玉
思路
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {TreeNode}
*/
var invertTree = function(root) {
if (root === null) {
return null
}
let left = invertTree(root.left),
right = invertTree(root.right)
root.left = right
root.right = left
return root
}
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {TreeNode}
*/
var invertTree = function(root) {
let queue = [root]
while (queue.length) {
let node = queue.shift()
if (node) {
let left = node.left
node.left = node.right
node.right = left
queue.push(node.left)
queue.push(node.right)
}
}
return root
}