leetcode-インタビューの質問27-バイナリツリーのミラー

 タイトルの説明:

 

 方法1:再帰

クラスSolution:
     def mirrorTree(self、root:TreeNode)-> TreeNode:
         rootでない場合 return 
        root.left、root.right = self.mirrorTree(root.right)、self.mirrorTree(root.left)
         return root
        

方法2:スタック

クラスソリューション:
     def mirrorTree(self、root:TreeNode)-> TreeNode:
         if  not root:return 
        stack = [root]
         while stack:
            node = stack.pop()
             if node.left:stack.append(node.left)
             if node.right:stack.append(node.right)
            node.left、node.right = node.right、node.left
         return root

 

おすすめ

転載: www.cnblogs.com/oldby/p/12747316.html