java.lang.String,java.lang.Object
else if (s<=this.head.data) //not sure about this format of object<---------------
Ok, I'm rusty on my Java but I'm pretty sure you can't use the operators on strings. As well, when comparing two things, they must be of the same type. So we can't compare a string to an object. So let's try something else...
//This converts the Object data to a string and then compares it to s
elseif(s.compareTo(this.head.data) <= 0)
//This does the same as the above to my knowledge, but explicitly casts the Object to a string
elseif(s.compareTo((String)this.head.data) <= 0)
Thus, for the other one, change head to tail and <= to >=
Greetings.