Skip to content

Instantly share code, notes, and snippets.

@davidfowl
Created February 2, 2020 22:59
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save davidfowl/e6b1bea56d7e5eec016c5072681ddee2 to your computer and use it in GitHub Desktop.
Save davidfowl/e6b1bea56d7e5eec016c5072681ddee2 to your computer and use it in GitHub Desktop.
Works for surrogate pairs
static bool IsPalin(string s)
{
var bi = s.Length - 1;
foreach (var r in s.EnumerateRunes())
{
if (!Rune.TryGetRuneAt(s, bi - (r.Utf16SequenceLength - 1), out var b) || !r.Equals(b))
{
return false;
}
bi -= r.Utf16SequenceLength;
}
return true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment