title: Interview test - adding using A Recursive Algorithm c#
body: <p>Below is an interview question about using recursion to add two arrays.</p>
  <p>I can't figure it out though because it does not seem to allow any kind of index to keep track of where you are, I have been down a few roads - trying to test for null / default values in the array but because it is a byte[] type nothing worked.</p>
  <p>Any help would be great thanks - this is not a homework question.</p>
  <pre><code>public AddResult UsingARecursiveAlgorithm_ValuesAreAdded(byte[] a, byte[] b)
  {
      var result = AddRecursive(a, b);
  
      // Assert
  
      return new AddResult(a, b, result);
  }
  </code></pre>
  <p>e.g.</p>
  <blockquote>
  <p>Input : { 1, 1, 1 }, { 1, 1, 1 }</p>
  <p>Result: { 2, 2, 2 }</p>
  <p>Input : { 1, 1, 255 }, { 0, 0, 1 }</p>
  <p>Result: { 1, 2, 0 }</p>
  </blockquote>
  <p>Conditions:</p>
  <p>a &amp; b are never null, and are always of the same length.</p>
  <p>The algorithm should be non destructive to the inputs.</p>
  <p>Edit: the second result is incorrect. It should be { 1,1,0 } -that's the way it was presented though.</p>