blog

バイナリ探索木からより大きな木へ

ノード値が変化するバイナリ探索木のルート・ノードが与えられた場合、各ノードの新しい値が元の木の node.val 以上の値の合計に等しくなるように、バイナリ木を修正します。 ノードの左サブツリーには、...

Jun 6, 2020 · 1 min. read
シェア

異なる値を持つノードを持つバイナリ探索木のルートノードが与えられたとき、各ノードの新しい値が元の木のnode.val以上の値の合計に等しくなるようにバイナリ木を修正します。

ノードの左サブツリーには、ノード・キーより小さいキーを持つノードだけが含まれます。ノードの右サブツリーには、ノード・キーより大きいキーを持つノードだけが含まれます。左サブツリーと右サブツリーもバイナリ探索木でなければなりません。

 [4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]
 [,,15,null,null,null,33,null,null,null,8]
class Solution{
public:
 int val = 0;
 TreeNode* bstToGst(TreeNode* root) {
 if (root) {
 bstToGst(root->right);
 val += root->val;
 root->val = val;
 bstToGst(root->left);
 }
 return root;
 }
};
Read next

22.ブラケット世代

インポート;\nインポート ;\npublic class Num22 括弧生成 {\n リスト<文字列> ans

Jun 6, 2020 · 1 min read