leetcode 226. 翻转二叉树(python)

缺乏、安全感 2022-05-18 02:24 266阅读 0赞

翻转一棵二叉树。

示例:

输入:

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

输出:

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

备注:
这个问题是受到 Max Howell 的 原问题 启发的 :

谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。

  1. # Definition for a binary tree node.
  2. # class TreeNode(object):
  3. # def __init__(self, x):
  4. # self.val = x
  5. # self.left = None
  6. # self.right = None
  7. class Solution(object):
  8. def invertTree(self, root):
  9. """
  10. :type root: TreeNode
  11. :rtype: TreeNode
  12. """
  13. #递归
  14. if not root:
  15. return root
  16. root.left,root.right=self.invertTree(root.right),self.invertTree(root.left)
  17. return root

发表评论

表情:
评论列表 (有 0 条评论,266人围观)

还没有评论,来说两句吧...

相关阅读

    相关 LeetCode226. 翻转

    今日份打卡力扣,这次用的是Java语言,之前都是用C/C++写的算法题,因为目前是从事Java开发方向,一会用C/C++,一会用Java,容易混淆,而且自己C++学的也不好,所