226. Invert Binary Tree

    xiaoxiao2021-04-15  74

    题目大意: 翻转二叉树

    思路:递归一下,递归比迭代好写

    Python代码:

    # Definition for a binary tree node. class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = None class Solution(object): def invertTree(self, root): """ :type root: TreeNode :rtype: TreeNode """ if root is None: return None temp = root.left root.left = self.invertTree(root.right) root.right = self.invertTree(temp) return root # bfs打印树 def printTree(root): arr = [] arr.append(root) while len(arr) > 0: size = len(arr) for i in range(0, size): node = arr[0] print(node.val, ' ',end = '') if node.left is not None: arr.append(node.left) if node.right is not None: arr.append(node.right) arr.remove(node) print() n4 = TreeNode(4) n2 = TreeNode(2) n7 = TreeNode(7) n1 = TreeNode(1) n3 = TreeNode(3) n6 = TreeNode(6) n9 = TreeNode(9) n4.left = n2 n4.right = n7 # n2.left = n1 # n2.right = n3 # n7.left = n6 # n7.right = n9 printTree(n4) root = Solution().invertTree(n4) printTree(root)
    转载请注明原文地址: https://ju.6miu.com/read-671303.html

    最新回复(0)