问题描述:
翻转一棵二叉树。
示例:
输入:
4 / 2 7 / / 1 3 6 9
输出:
4 / 7 2 / / 9 6 3 1
备注:
这个问题是受到 Max Howell 的 原问题 启发的 :
谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。
方法1:(递归)
1 class Solution(object): 2 def invertTree(self, root): 3 """ 4 :type root: TreeNode 5 :rtype: TreeNode 6 """ 7 if not root: 8 return 9 temp = root.left 10 root.left = root.right 11 root.right = temp 12 self.invertTree(root.left) 13 self.invertTree(root.right) 14 return root
there are some different
1 class Solution(object): 2 def invertTree(self, root): 3 """ 4 :type root: TreeNode 5 :rtype: TreeNode 6 """ 7 if root == None: 8 return root 9 l = self.invertTree(root.left) 10 r = self.invertTree(root.right) 11 root.left = r 12 root.right = l 13 return root
2018-09-19 15:09:02