J'ai oublié ce que j'avais demandé à ce moment-là, car je parlais beaucoup et ma mémoire n'est pas bonne.
C'était probablement "Comment juger si une chaîne a un anneau"
Je ne me souviens que vaguement du sens...
Merci. pour m'avoir aidé à corriger le problème. Mon point principal est que je veux savoir quelle est la question.
C'est une question un peu difficile
a.next
是b
b.next
是c
c.next
是a
.....
Si vous exécutez la boucle suivante
Ensuite, ce sera une boucle infinie, et la température sera assignée comme suit :
a => b => c => a => b .....
这样的abc
Elle forme une boucleVous pouvez vous référer à la file d'attente circulaire et à la liste chaînée en anneau.
Alors comment juger ?
Puisqu'il a dit qu'il voulait que je juge, suivez les étapes ci-dessus.
Récursion
Capture d'écran
(Après avoir fini d'écrire, j'ai réalisé que j'avais fait une erreur et je l'ai réécrit... == Désolé)
Cette question est une question algorithmique très classique. La manière la plus classique est d'utiliser
.快慢指针法
Pour des questions spécifiques, vous pouvez aller sur leetcodeEn termes simples, définissez le pointeur rapide et le pointeur lent. Le pointeur rapide fait deux pas à la fois, et le pointeur lent fait un pas à la fois. Si les deux peuvent se rencontrer, cela signifie qu'il y a un cycle.