Skip to content

Instantly share code, notes, and snippets.

@Yangff

Yangff/yoo Secret

Created June 15, 2015 05:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Yangff/d8040a4f27416d74b0f4 to your computer and use it in GitHub Desktop.
Save Yangff/d8040a4f27416d74b0f4 to your computer and use it in GitHub Desktop.
yoo(x)
prev = x
while (x)
if ((!x.lc && !x.rc) || x.rc == prev)
prev = x
x = x.parent
elsif (x.lc != prev && x.rc != prev)
swap(x.lc, x.rc)
if (x.lc)
prev = x, x = x.lc
else
prev = null
elsif (x.lc == prev)
if (x.rc)
prev = x, x = x.rc
else
prev = null
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment