【leetcode】226. 翻转二叉树(python)

【leetcode】226. 翻转二叉树(python),第1张


# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def invertTree(self, root):
        """
        :type root: TreeNode
        :rtype: TreeNode
        """
        if not root:
            return 
            
        tmp = root.left
        root.left = root.right
        root.right = tmp

        self.invertTree(root.left)
        self.invertTree(root.right)
        
        return root
思路分析

一开始我一边递归一边交换结点,但结果是一直报错!

==》 后又想,找到最终要交换的结点,并交换之,再递归的调用。


一开始还想先交换,把整个树都交换好了。


最后再前序遍历,输出list。


结果,没看清题目,只需要返回root就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/580238.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存