public static void Main()
int[] digits = {2,1,4,7,4,8,3,6,4,6};
string expected = "[2,1,4,7,4,8,3,6,4,7]";
int[] results = WhileLoop(digits);
for (int i = 0; i < results.Length; i++)
result += results[i] + ",";
result = result.TrimEnd(',');
Console.WriteLine("Output: {0}", result);
Console.WriteLine("Expected: {0}", expected);
public static int[] PlusOne(int[] digits) {
if (digits[digits.Length - 1] != 9)
digits[digits.Length - 1] += 1;
for (int i = digits.Length - 1; i > 0; i--)
if ((digits[i] == 9 && i == digits.Length - 1) || digits[i] == 10)
int[] nums = new int[digits.Length + 1];
for (int i = digits.Length - 1; i >= 0; i--)
if ((digits[i] == 9 && i == digits.Length - 1) || digits[i] == 10)
nums[i] = digits[i - 1] + 1;
public static int[] WhileLoop(int[] digits) {
int i = digits.Length - 1;
int[] nums = new int[digits.Length + 1];