def insert(self, key):
<EOL>n = TreeNode(key)<EOL>if not self.node:<EOL><INDENT>self.node = n<EOL>self.node.left = AvlTree()<EOL>self.node.right = AvlTree()<EOL><DEDENT>elif key < self.node.val:<EOL><INDENT>self.node.left.insert(key)<EOL><DEDENT>elif key > self.node.val:<EOL><INDENT>self.node.right.insert(key)<EOL><DEDENT>self.re_balance()<EOL>
Insert new key into node