My head hurts understanding this LINQ
static IEnumerable<string> serializeToEnumerable(TreeNode root)
=> root is null
? new string[] { String.Empty }
: serializeToEnumerable(root.left)
.Concat(serializeToEnumerable(root.right))
.Prepend(root.val.ToString());static IEnumerable<string> serializeToEnumerable(TreeNode root)
=> root is null
? new string[] { String.Empty }
: serializeToEnumerable(root.left)
.Concat(serializeToEnumerable(root.right))
.Prepend(root.val.ToString());