Invert Binary Tree

来源:互联网 发布:c语言windows窗口程序 编辑:程序博客网 时间:2024/06/18 18:26

c++

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    TreeNode* invertTree(TreeNode* root) {        if (root == nullptr)            return nullptr;        if (root->left == nullptr && root->right == nullptr)            return root;        TreeNode* tmpleft = root->left;        TreeNode* tmpright = root->right;        root->left = invertTree(tmpright);        root->right = invertTree(tmpleft);        return root;    }};

python

# Definition for a binary tree node.# class TreeNode(object):#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution(object):    def invertTree(self, root):        """        :type root: TreeNode        :rtype: TreeNode        """        if not root:            return root        if not root.left and not root.right:            return root        root.left, root.right = self.invertTree(root.right),self.invertTree(root.left)        return root
0 0
原创粉丝点击