leetcode226翻轉二叉樹python實現

1.問題描述


翻轉一棵二叉樹。

示例:

輸入:

     4
   /   \
  2     7
 / \   / \
1   3 6   9
輸出:

     4
   /   \
  7     2
 / \   / \
9   6 3   1
備註:
這個問題是受到 Max Howell 的 原問題 啓發的 :

谷歌:我們90%的工程師使用您編寫的軟件(Homebrew),但是您卻無法在面試時在白板上寫出翻轉二叉樹這道題,這太糟糕了。

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/invert-binary-tree

2.python求解實現


我都覺得很簡單的一個題,那就是很簡單了

思路:如果根結點不爲空,就把他的左右節點交換,然後遞歸遍歷左右子樹,執行交換操作

class Solution(object):
    def invertTree(self, root):
        """
        :type root: TreeNode
        :rtype: TreeNode
        """
        if root is not None:
            temp = root.left
            root.left = root.right
            root.right = temp
            
            self.invertTree(root.left)
            self.invertTree(root.right)
            
            return root

恩,就是這樣,這篇好像米有啥要補充的啦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章