すべての要素は、2つのバイナリ検索ツリーをLeetCode-

注:LeetCode--ツリーのテーマ。

题目链接(1305):https://leetcode-cn.com/problems/all-elements-in-two-binary-search-trees/

件名の説明:

あなたのために  root1 と  root2 、この2つのバイナリ検索ツリー。

2つのツリーの昇順にソートされたすべての整数を含むリストを返してください。

例:

入力:ROOT1 = [2,1,4]、root2 = [1,0,3] 
出力:[0,1,1,2,3,4]
入力:ROOT1 = [0、-10,10] 、root2 = [5,1,7,0,2] 
出力:[ - 10,0,0,1,2,5,7,10]
入力:ROOT1 = []、root2 = [5,1,7,0,2 ] 
出力:[0、 1,2,5,7-]

....

問題解決のアイデア:

バイナリツリーについて、私の最初に考えたのは、再帰的です。被験者によれば、各ノードは、二分木をトラバースノードの値を取得し、それらをソートすることは明らかです。

コード:

ツリーノードクラス:
DEF __init __(自己、X):
self.val = X
self.left =なし
self.right =なし

クラスソリューション:
DEFのgetAllElements(セルフ、ROOT1:ツリーノード、root2:のTreeNode) - >一覧[INT]:
L = []
self.getroot(ROOT1、L)#ROOT1内の各ノードの値を取得
self.getroot(root2、L)#取得各ノードroot2の値
        l.sort()
戻りL

DEF getRoot(セルフ、ルート:ツリーノード、L:リスト[INT]):
IFルート:ノードが#存在する場合
l.append(root.val)#1は、ノード値のリストに追加されている
自己。 getroot(root.left、L)#再帰
self.getroot(root.right、L)
他:
リターン

前:中間ノードのリスト

おすすめ

転載: www.cnblogs.com/RiverMap/p/12584207.html