Top 150 des entrevuesFacile

Réorganiser la liste

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

Énoncé du problème

Facile

Vous recevez la tête d’une liste à chaînage unique. La liste peut être représentée comme suit :

L0 → L1 → … → Ln-1 → Ln

Réorganisez la liste pour qu'elle se présente sous la forme suivante :

L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …

Vous ne pouvez pas modifier les valeurs dans les nœuds de la liste. Seuls les nœuds eux-mêmes peuvent être modifiés.

La liste chaînée est représentée sous la forme d'une liste Python. Implémentez une fonction reorderList(head: list) -> list qui renvoie la liste réorganisée.

Contraintes
  • The number of nodes in the list is in the range [1, 50000]
  • 1 <= Node.val <= 1000

Exemples

Example 1
Input
[1,2,3,4]
Output
[1,4,2,3]
Explanation

The list 1->2->3->4 is reordered to 1->4->2->3.

Example 2
Input
[1,2,3,4,5]
Output
[1,5,2,4,3]
Explanation

The list 1->2->3->4->5 is reordered to 1->5->2->4->3.

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.