<p>A <strong>complete binary tree</strong> is a binary tree in which every level, except possibly the last, is completely filled, and all nodes are as far left as possible.</p>
<p>Design an algorithm to insert a new node to a complete binary tree keeping it complete after the insertion.</p>
<p>Implement the <code>CBTInserter</code> class:</p>
<ul>
<li><code>CBTInserter(TreeNode root)</code> Initializes the data structure with the <code>root</code> of the complete binary tree.</li>
<li><code>int insert(int v)</code> Inserts a <code>TreeNode</code> into the tree with value <code>Node.val == val</code> so that the tree remains complete, and returns the value of the parent of the inserted <code>TreeNode</code>.</li>
<li><code>TreeNode get_root()</code> Returns the root node of the tree.</li>