public static void Test()
        {
            Solution s = new Solution();

            int?[]   a4   = new int?[] { 3 };
            int?[]   a5   = new int?[] { 1, 2, 3, 4, 5, 6, null, null, null, 7, 8 };
            TreeNode root = new TreeNode(a5[0].GetValueOrDefault());

            ProduceTreeNode(a5, a5.Length, 0, root);

            int?[]   a6    = new int?[] { 1, 2, 3, 4, 5, 6, null, null, null, 7, 8 };
            TreeNode root2 = new TreeNode(a5[0].GetValueOrDefault());

            ProduceTreeNode(a6, a6.Length, 0, root2);

            //a4.PrintList();
            Console.WriteLine(s.FlipEquiv(root, root2) + " is true");
        }