バイナリツリーのミラー:オファー(XVIII)を受賞

バイナリツリーのミラー:オファー(XVIII)を受賞

検索マイクロチャネル公共番号:「AI-ming3526」以上のアルゴリズム、機械学習のための「この小さなコンピュータビジョン」、ドライ
CSDN:https://blog.csdn.net/baidu_31657889/
GitHubの:https://github.com/あいみ-CN / AILearners

まず、プライマー

このシリーズは、独自のアルゴリズムの下で能力を強化することを目指して、オンラインの質問ノートの牛をはねのける「安全オファーを証明するために、」私のブラシです。
安全性の問題を証明することを決議オファーをクリックして、完全なアルゴリズムを表示:安全オファー完全な分析演習を証明するために

第二に、タイトル

所与のバイナリツリーの動作は、バイナリツリーは、ソース画像に変換されます。

二値画像が定義されます。

ファイル

1、アイデア

ルートノードの2つのつの子ノードの最初の交換の後、我々は、子ノードがノード10,6であることに気づい同じままなので、我々はまた、二つのノードの子ノードについて、交換する必要があります。これら二つの交流を行った後、我々はすべての非リーフノードを介して行われています。この時点で、変換後に元の木のツリーのちょうどミラーです。モードの切り替えは以下の通りです:

ファイル

だから我々は最終的に全体のバイナリツリーのミラーを変えていく順番は、ルートノードの下に切り替える最初の二つの子ノードは、交換が再帰呼び出しノードについて行わ行うことができます -

2、プログラミング

python2.7

コードの実装:

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # 返回镜像树的根节点
    def Mirror(self, root):
        # write code here
        if not root:
            return root
        else:
            root.left,root.right = root.right,root.left
            self.Mirror(root.left)
            self.Mirror(root.right)
            return root

AIの詳細については、AIMI-CN AI学習交換基[1015286623]
スキャンコードプラスグループ:

ファイル

技術、生活の中で楽しく共有:公共の私達の数コンピュータビジョンこの小さな週プッシュ「AI」シリーズのニュース記事を、あなたの関心を歓迎します!

ファイル

おすすめ

転載: www.cnblogs.com/aimi-cn/p/11404044.html
おすすめ