题目
点击前往
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。
示例 1:
1 2
| 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]
|
示例 2:
1 2
| 输入:root = [2,1,3] 输出:[2,3,1]
|
示例 3:
解题思路
深度优先递归
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
var invertTree = function(root) { if(root === null) return root; [root.left,root.right] = [root.right,root.left]; invertTree(root.left); invertTree(root.right); return root; };
|
广度优先
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
var invertTree = function(root) { let queue =[]; if(root === null) return root; queue.push(root); while(queue.length !== 0){ let len = queue.length; for(let i=0; i<len;i++){ let node = queue.shift(); [node.left,node.right] = [node.right,node.left]; node.left && queue.push(node.left); node.right && queue.push(node.right); } } return root; };
|