public static string WriteExpression(Node node)
if (node == null) return "";
return WriteExpression(node.Left) + node.Value + WriteExpression(node.Right);
public static string WriteExpression2(Node node)
var sb = new StringBuilder();
WriteExpressionInternal(node, sb);
private static void WriteExpressionInternal(Node node, StringBuilder sb)
WriteExpressionInternal(node.Left, sb);
WriteExpressionInternal(node.Right, sb);
public static void Main()
var testData = new Node()
var result = WriteExpression(testData);
Console.WriteLine($"YOUR OUTPUT WAS ==> {result}");
Console.WriteLine(result == expected ? "SUCCESS" : "FAILURE");