예제 #1
0
 TreeNode* invertTree(TreeNode* root) {
     if (!root) return root;
     invertTree(root->left);
     invertTree(root->right);
     swap(root->left,root->right);
     return root;
 }
예제 #2
0
 TreeNode* invertTree(TreeNode* root) {
     if (root == NULL) return NULL
     swap(root->left, root->right);
     invertTree(root->left);
     invertTree(root->right);
     return root;
 }
예제 #3
0
 TreeNode* invertTree1(TreeNode* root) {
     if(!root) return root;
     TreeNode* left = invertTree(root->left);
     TreeNode* right = invertTree(root->right);
     swap(root->left, root->right);
     return root;
 }
예제 #4
0
파일: 226.cpp 프로젝트: cenhao/coding
    TreeNode* invertTree(TreeNode* root) {
		if (root == nullptr) { return nullptr; }
		swap(root->left, root->right);
		invertTree(root->left);
		invertTree(root->right);
		return root;
    }
예제 #5
0
TreeNode* invertTree(TreeNode* root) {
    if (root==NULL) return NULL;
    TreeNode* tmp = root->left;
    root->left = invertTree(root->right);
    root->right = invertTree(tmp);
    return root;
}
예제 #6
0
 TreeNode* invertTree(TreeNode* root) {
     if (!root) return root;
     TreeNode * right_backup = root->right;
     root->right = invertTree(root->left);
     root->left = invertTree(right_backup);
     return root;
 }
예제 #7
0
파일: 226.cpp 프로젝트: cedarz/ltcode
    TreeNode* invertTree(TreeNode* root) {
		if(root == nullptr) return nullptr;
		TreeNode * right = root->right, * left = root->left;
        root->left = invertTree(right);
		root->right = invertTree(left);
		return root;
    }
 TreeNode* invertTree(TreeNode* root) {
     if(!root) return NULL;
     swap(root->right, root->left);
     root->left = invertTree(root->left);
     root->right = invertTree(root->right);
     return root;
 }
예제 #9
0
 TreeNode* invertTree(TreeNode* root) {
     if(root != NULL){
         TreeNode* tp = root->right;
         root->right = invertTree(root->left);
         root->left = invertTree(tp);
     }
     return root;
 }
예제 #10
0
    TreeNode* invertTree(TreeNode* root) {
        if (NULL != root) {
			TreeNode *temp = invertTree(root->left);
			root->left = invertTree(root->right);
			root->right = temp;
		}
		return root;
    }
예제 #11
0
 TreeNode* invertTree(TreeNode* root) {
     if(root) {
         std::swap(root->left, root->right);
         invertTree(root->left);
         invertTree(root->right);
     }
     return root;
 }
예제 #12
0
    TreeNode* invertTree(TreeNode* root){
        if(!root) return root;

        TreeNode *tmpLeft = invertTree(root->right), *tmpRight = invertTree(root->left);
        root->left = tmpLeft;
        root->right = tmpRight;
        return root;
    }
예제 #13
0
 TreeNode* invertTree(TreeNode* root) {
     if(!root) return root;
     TreeNode* swap;
     swap = invertTree(root->left);
     root->left = invertTree(root->right);
     root->right = swap;
     return root;
 }
예제 #14
0
 TreeNode* invertTree(TreeNode* root) {
     if(!root ||(!root->left && !root->right))return root;
     TreeNode* tmp = root->left;
     root->left = invertTree(root->right);
     root->right = invertTree(tmp);
     
     return root;
 }
예제 #15
0
struct TreeNode* invertTree(struct TreeNode* root) {
    if(!root)
        return NULL;
    struct TreeNode *left=root->left;
    root->left=invertTree(root->right);
    root->right=invertTree(left);
    return root;
}
예제 #16
0
    TreeNode* invertTree(TreeNode* root) {
        if(!root) return root;

        TreeNode* temp = invertTree(root->left);
        root->left = invertTree(root->right);
        root->right = temp;
        return root;
    }
예제 #17
0
 TreeNode* invertTree(TreeNode* root) {
     if(root==NULL) return NULL;
     if(root->left == NULL && root->right==NULL) return root;
     TreeNode * left_cp = root->left;
     TreeNode * right_cp = root->right;
     root->left = invertTree(right_cp);
     root->right = invertTree(left_cp);
     return root;
 }
예제 #18
0
 TreeNode* invertTree(TreeNode* root) {
     if(!root)
         return root;
     TreeNode *left = invertTree(root->left);
     TreeNode *right = invertTree(root->right);
     root->left = right;
     root->right = left;
     return root;
 }
예제 #19
0
 TreeNode* invertTree(TreeNode* root) {
     if (!root)  return NULL;
     TreeNode* temp = root->left;
     root->left = root->right;
     root->right = temp;
     invertTree(root->left);
     invertTree(root->right);
     return root;
 }
예제 #20
0
TreeNode* invertTree(TreeNode* root) {
	if (!root){
		return NULL;
	}
	TreeNode * tmp = root->left;
	root->left = invertTree(root->right);
	root->right = invertTree(root->left);
	return root;
}
 TreeNode* invertTree(TreeNode* root) {
     if (root == nullptr) {
         return nullptr;
     }
     TreeNode* temp = invertTree(root->right);
     root->right = invertTree(root->left);
     root->left = temp;
     return root;
 }
예제 #22
0
 TreeNode* invertTree(TreeNode* root) {
     if(root==NULL) return NULL;
     TreeNode *node = root->left;
     root->left=root->right;
     root->right=node;
     invertTree(root->left);
     invertTree(root->right);
     return root;
 }
예제 #23
0
 TreeNode* invertTree(TreeNode* root) {
     if (root == NULL) return NULL;
     if (root->left == NULL && root->right == NULL) return root;
     TreeNode *leftNode = invertTree(root->left);
     TreeNode *rightNode = invertTree(root->right);
     root->left = rightNode;
     root->right = leftNode;
     return root;
 }
예제 #24
0
TreeNode* invertTree(TreeNode* root) {
    if(root==nullptr)
        return root;
    TreeNode* temp=root->left;
    root->left=root->right;
    root->right=temp;
    invertTree(root->left);
    invertTree(root->right);
    return root;
}
예제 #25
0
 TreeNode* invertTree(TreeNode* root) {
     if (root==NULL)
         return root;
     invertTree(root->left);
     invertTree(root->right);
     TreeNode* tmp = root->left;
     root->left = root->right;
     root->right = tmp;
     return root;
 }
예제 #26
0
 TreeNode* invertTree(TreeNode* root) {
     if(root != NULL){
         TreeNode *temp = root->left;
         root->left = root->right;
         root->right = temp;
         invertTree(root->left);
         invertTree(root->right);
     }
     return root;
 }
 //recursive version
struct TreeNode* invertTree(struct TreeNode* root) {
    struct TreeNode* T = root;
    if(T == NULL) return NULL;
    struct TreeNode* tmp = T->right;
    T->right = T->left;
    T->left = tmp;
    invertTree(T->left);
    invertTree(T->right);
    return T;
}
예제 #28
0
 TreeNode* invertTree(TreeNode* root) {
     if (root == nullptr)
         return nullptr;
     
     TreeNode* result = new TreeNode(root -> val);
     result -> right = invertTree(root -> left);
     result -> left = invertTree(root -> right);
     
     return result;
 }
예제 #29
0
struct TreeNode* invertTree(struct TreeNode* root) {
	struct TreeNode* temp;
	if (root == NULL) return NULL;
	temp = root->left;
	root->left = root->right;
	root->right = temp;
	invertTree(root->left);
	invertTree(root->right);
	return root;
}
예제 #30
0
struct TreeNode* invertTree(struct TreeNode* root) {
	if(root == NULL) return root;
	struct TreeNode *tmp;
	tmp = root->right;
	root->right = root->left;
	root->left = tmp;
	if(root->right != NULL) invertTree(root->right);
	if(root->left != NULL) invertTree(root->left);
	return root;   
}