【leetcode】701. 二分探索木への挿入操作

詳細については、701 を参照してください。 二分探索木の挿入操作

問題解決のアイデア

  • BST 機能。root.val と val のサイズを判断します。root.val < val、val を root.right に配置する必要があることを示します。
  • 逆にroot.leftに置き、root.rightが存在するかどうかを判断し、存在する場合は直接置き、そうでない場合は再帰的に関数を挿入し、適切な位置を見つける
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def insertIntoBST(self, root: TreeNode, val: int) -> TreeNode:
        if not root:
            return TreeNode(val)
        def insert(root):
            if root.val < val:
                if root.right:
                    insert(root.right)
                else:
                    root.right = TreeNode(val)
            else:
                if root.left:
                    insert(root.left)
                else:
                    root.left = TreeNode(val)
        insert(root)
        return root

おすすめ

転載: blog.csdn.net/weixin_45074568/article/details/125468096