翻转二叉树

作者: _阿南_ | 来源:发表于2020-02-24 16:38 被阅读0次

题目:

翻转一棵二叉树。
示例:
输入:
     4
   /   \
  2     7
 / \   / \
1   3 6   9
输出:
     4
   /   \
  7     2
 / \   / \
9   6 3   1

题目的理解:

采用递归的方式进行遍历二叉树,然后交换left和right。

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: TreeNode) -> TreeNode:
        current = root
        self.invert(root)
        
        return current
        
    def invert(self, node: TreeNode):
        if node is None:
            return 
        
        temp = node.left
        node.left = node.right
        node.right = temp
        
        self.invert(node.left)
        self.invert(node.right)

提交

成功

// END 什么时候可以上班呢

相关文章

网友评论

    本文标题:翻转二叉树

    本文链接:https://www.haomeiwen.com/subject/cjxbqhtx.html