226. Invert Binary Tree Difficult: Easy

来源:互联网 发布:淘宝换货售后卡怎么写 编辑:程序博客网 时间:2024/04/25 09:32

Invert a binary tree.

     4   /   \  2     7 / \   / \1   3 6   9

to

     4   /   \  7     2 / \   / \9   6 3   1

算法分析:可以用层序遍历的方法交换左右子树,也可以直接递归。

C语言版

struct TreeNode* invertTree(struct TreeNode* root) {    if(root)    {        struct TreeNode *temp = root->right;        root->right = invertTree(root->left);        root->left = invertTree(temp);    }    return root;}

Python版

class Solution(object):    def invertTree(self, root):        """        :type root: TreeNode        :rtype: TreeNode        """        if root:            root.left, root.right = self.invertTree(root.right), self.invertTree(root.left)        return root
原创粉丝点击