public void TestSerializeAndDeserializeBinaryTree1()
        {
            //   1
            // /   \
            //2     3
            //\
            // 5

            TreeNode root = new TreeNode(1);
            TreeNode l1   = new TreeNode(2);
            TreeNode r1   = new TreeNode(3);
            TreeNode l2   = new TreeNode(5);

            root.left  = l1;
            root.right = r1;
            l1.right   = l2;

            var    content = SerializeAndDeserializeBinaryTree.serialize(root);
            string exp     = "[1,2,3,null,5,null,null,null,null]";

            Assert.IsTrue(content == exp);

            var node = SerializeAndDeserializeBinaryTree.deserialize(content);

            Assert.IsTrue(node.val == 1);
            Assert.IsTrue(node.left.val == 2);
            Assert.IsTrue(node.right.val == 3);
            Assert.IsTrue(node.left.right.val == 5);
        }
        public void TestDescrializeBinaryTree3()
        {
            string s    = "[1,null,2]";
            var    root = SerializeAndDeserializeBinaryTree.deserialize(s);

            Assert.IsTrue(root.val == 1);

            var n = SerializeAndDeserializeBinaryTree.serialize(root);
        }