Faits: Faits: A. Le 27 mai 2004, le Ministère public du canton de Neuchâtel a rendu contre A._ une ordonnance pénale portant sur la condamnation à une amende de 200 fr. pour scandale sur la voie publique et désobéissance à la police, au sens des art. 35 et 45 CPN. A._ s'étant opposé à cette ordonnance, il a été renvoyé devant le Tribunal de police du district de Neuchâtel. Celui-ci, statuant dans la composition de B._ comme président et C._ comme greffière, l'a condamné à une amende de 200 fr., pour scandale et désobéissance à la police, par jugement du 13 juillet 2004. Le 11 novembre 2004, la Cour de cassation pénale du Tribunal cantonal du canton de Neuchâtel a admis le pourvoi formé par A._ contre ce jugement, qu'elle a cassé en renvoyant la cause au Tribunal de police pour nouvelle décision au sens des considérants. La Cour de cassation pénale a retenu que sous l'angle de l'art. 45 CPN, le Tribunal de police avait pris en compte des faits qui n'étaient pas évoqués dans l'ordonnance du 27 mai 2004. Le Tribunal de police a cité à comparaître A._, qui a récusé le Juge B._. Par arrêt du 27 décembre 2004, la Chambre d'accusation du Tribunal cantonal du canton de Neuchâtel a rejeté la demande de récusation. Par arrêt du 27 décembre 2004, la Chambre d'accusation du Tribunal cantonal du canton de Neuchâtel a rejeté la demande de récusation. B. A._ a recouru contre cet arrêt, qu'il tient pour inconstitutionnel. Il expose que le Juge B._ ne pourrait, après le prononcé de l'arrêt du 11 novembre 2004, statuer impartialement sur sa cause. Il requiert l'assistance judiciaire. Le Ministère public conclut au rejet du recours. Le Juge B._ a renoncé à se déterminer. La Chambre d'accusation se réfère à son arrêt. 