919

# 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 CBTInserter:
    def __init__(self, root: TreeNode):
        self.root=root
        self.dq=deque()
        q=collections.deque()
        q.append(root)
        while q :
            tmp=q.popleft()
            if tmp.left :
                q.append(tmp.left)
            if tmp.right :
                q.append(tmp.right)
            if tmp.left is None or tmp.right is None:
                self.dq.append(tmp);
    def insert(self, val: int) -> int:
        q=self.dq
        tmp=q[0]
        if tmp.left is None:
            tmp.left=TreeNode(val)
            q.append(tmp.left)
        elif tmp.right is None:
            tmp.right=TreeNode(val)
            q.append(tmp.right)
        if tmp.left is not None and tmp.right is not None:
            q.popleft()
        return tmp.val
    def get_root(self) -> TreeNode:
        return self.root
posted @ 2022-07-25 09:53  kris-phl  阅读(9)  评论(0)    收藏  举报