Top 150 des entrevuesFacile

Linked List Cycle

Guide détaillé et implémentation de Python pour le problème 'Linked List Cycle'.

Énoncé du problème

Facile

Étant donné head, le chef d'une liste chaînée, déterminez si la liste chaînée contient un cycle.

Il y a un cycle dans une liste chaînée s'il y a un nœud dans la liste qui peut être atteint à nouveau en suivant continuellement le pointeur suivant. En interne, pos est utilisé pour désigner l'index du nœud auquel le prochain pointeur de tail est connecté. Notez que pos n'est pas passé en paramètre.

Renvoie vrai s'il y a un cycle dans la liste chaînée. Otherwise, return false.

L'entrée est donnée sous la forme d'une liste de valeurs et d'un entier pos (l'index auquel la queue se connecte, -1 s'il n'y a pas de cycle). Implémentez une fonction hasCycle(head: list, pos: int) -> bool.

Contraintes
  • The number of nodes in the list is in the range [0, 10000]
  • -100000 <= Node.val <= 100000
  • pos is -1 or a valid index in the linked list

Exemples

Example 1
Input
[3,2,0,-4], 1
Output
True
Explanation

There is a cycle: the tail node (-4) connects back to the node at index 1 (value 2).

Example 2
Input
[1,2], 0
Output
True
Explanation

There is a cycle: the tail node (2) connects back to the node at index 0 (value 1).

Example 3
Input
[1], -1
Output
False
Explanation

There is no cycle in the list.

Need a Hint?
Pensez à utiliser des structures de données spécifiques aux listes chaînées, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Ouvrir dans l'éditeur
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.