Letters, Get Moving! Pt. 2
CJam, 41 38 bytes
lee_S+W%\{Xa-X1='`-/(Xa+\L*+}fX1>W%1f=
Test it here.
Python 3, 78 bytes.
Saved 2 bytes thanks to orlp.
Saved 7 bytes thanks to DSM.
x=input()
y=[]
for z in x:m=max(len(x)-ord(z)+96,0);y[m:m]=z
print(''.join(y))
Builds the word as a list then joins it.
Python 2, 86 bytes
a=input();k=list(a)
for i in a:k.remove(i);k.insert(ord(i)-97,i)
print"".join(k)[::-1]
Python 3, 88 bytes
a=input();k=list(a)
for i in a:k.remove(i);k.insert(ord(i)-97,i)
print("".join(k)[::-1])
Examples
Python 2:
$ python2 test.py
"flower"
rweolf
Python 3:
$ python3 test.py
flower
rweolf