Find the Missing Letter
C# (.NET Core), 48 47 46 bytes, input as char array



s=&gt;{for(int i=0;s[++i]==++s[0];);return s[0];}


Try it online!

Explanation: the first element in the array is incremented as well as a pointer iterating the following elements. When both the first element and the current element are different, it returns the first element.

C# (.NET Core), 58 56 50 bytes, input as string



s=&gt;{var c=s[0];while(s.IndexOf(++c)&gt;=0);return c;}


Try it online!

Previous 58-byte solution (referenced in the first comment):

s=&gt;{for(int i=1;;i++)if(s[i]-s[0]&gt;i)return(char)(s[i]-1);}


Algorithms using System.Linq

The following algorithms must add using System.Linq; (18 bytes) to the byte count and therefore are longer.

I quite liked this one (52+18 bytes):

s=&gt;{int i=0;return(char)(s.First(c=&gt;c-s[0]&gt;i++)-1);}


And you also have a one-liner (45+18)-byte solution:

s=&gt;(char)(s.Where((c,i)=&gt;c-s[0]&gt;i).First()-1)


And a very clever (37+18)-byte solution, courtesy of Ed'ka:

s=&gt;s.Select(e=&gt;++e).Except(s).First()