#C 133 125 118 116 106 102 89 88 81 70 58 5557 Bytes
r;ff(char*sr,s)char*s;{for(;r=*s?~r&1<<(*s>=*++s):0;);return !*s;}
in case you can't set r=0 before calling the function for a second time it's 58 Bytes
r;f(char*s){for(r=0;r=*s?~r&1<<(*s>=*++s):0;);return !*s;}
Test it with this main function
main(c,v)char**v;
{
f(v[1])?puts("T"):puts("F");
}