226. 翻转二叉树

翻转一棵二叉树。

示例

输入:
 4

/
2 7
/ \ /
1 3 6 9

输出:
 4

/
7 2
/ \ /
9 6 3 1


思路:递归,需要注意的是先以左右子节点翻转后,再交换左右节点
```python
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def invertTree(self, root):
        """
        :type root: TreeNode
        :rtype: TreeNode
        """
        
        if not root:
            return None
        
        root.left = self.invertTree(root.left)
        root.right = self.invertTree(root.right)
        
        root.left, root.right = root.right, root.left
        
        return root
posted @ 2018-09-17 22:38  yuyin  阅读(69)  评论(0)    收藏  举报