Simple question on understanding about recursion. It could be solved using pre-order and post-order traversal style recursion. It can also be solved iteratively using a queue. Please refer toLeetcode official solution. It's very similar to "Binary Tree ZigZag Level Order Traversal". Remember a ...
*/publicclassSolution{publicTreeNodeinvertTree(TreeNode root){if(root==null){// 节点为空,不处理returnnull;}else{// 节点不为空TreeNode leftNode;// 左节点新对象TreeNode rightNode;// 右节点新对象if(root.left!=null){leftNode=invertTree(root.left);//对其子节点进行同样的操作,并赋给新对象}e...
So we immediately have the following simple recursive solution. 1classSolution {2public:3TreeNode* invertTree(TreeNode*root) {4if(!root)returnNULL;5swap(root -> left, root ->right);6root -> left = invertTree(root ->left);7root -> right = invertTree(root ->right);8returnroot;9}10...
root.right = invertTree(tmp);returnroot; } } 3.2 Java实现-非递归 publicclassSolution2{publicTreeNodeinvertTree(TreeNode root){if(root ==null) {returnroot; } Deque<TreeNode> q =newArrayDeque<>(); q.push(root);while(!q.isEmpty()) {TreeNodenode=q.pop();TreeNodetmp=node.left; node....
#Definition for a binary tree node.#class TreeNode(object):#def __init__(self, x):#self.val = x#self.left = None#self.right = NoneclassSolution(object):deftraverse(self,node): tmp=node.left node.left=node.right node.right=tmpifnode.left !=None: ...
LeetCode 226: Invert Binary Tree /** * 226. Invert Binary Tree * 1. Time:O(n) Space:O(n) * 2. Time:O(n) Space:O(n) */// 1. Time:O(n) Space:O(n)classSolution{publicTreeNodeinvertTree(TreeNode root){if(root==null)returnnull;...
Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 我觉得返回void更好一些,就地翻转。 还是递归实现方便。 1/**2* Definition for a binary tree node.3* struct TreeNode {4* int val;5* TreeNode *left;6* TreeNode *right;7* TreeNode(int...
* Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */classSolution{public:TreeNode*invertTree(TreeNode* root){if(root==NULL)returnroot;autotemp=invertTree(root...
【摘要】 这是一道关于二叉树翻转的LeetCode题目,希望对您有所帮助。 目录: 1.Invert Binary Tree - 二叉树翻转 [递归] 题目概述: Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1
LeetCode 226 Invert Binary Tree 解题报告 题目要求 Invert a binary tree. 题目分析及思路 给定一棵二叉树,要求每一层的结点逆序。可以使用递归的思想将左右子树互换。 python代码 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x):...