// Take in an integer and output a new integer with digits increment by one
// Do this in time complexity of O(n)
public PlusOne()
{
if (Int32.TryParse(Console.ReadLine(), out int number))
{
List list = new List();
int n = number;
// First, convert integer to array of digits
while (number > 0)
{
n = number % 10;
number /= 10;
list.Add(n);
}
// Increment digit in list
for (int i = 0; i < list.Count; i++)
{
if (list[i] != 9)
list[i]++;
}
// Output the reverse list
list.Reverse();
list.ForEach(i => Console.Write(i));
Console.ReadLine();
}
}