バイナリツリーのミラー:オファー(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」シリーズのニュース記事を、あなたの関心を歓迎します!