Phỏng vấn top 150Dễ dàng

Sắp xếp lại danh sách

Hướng dẫn chi tiết và cách triển khai Python cho vấn đề 'Sắp xếp lại danh sách'.

Tuyên bố vấn đề

Dễ dàng

Bạn được cấp phần đầu của một danh sách liên kết đơn. Danh sách có thể được biểu diễn dưới dạng:

L0 → L1 → … → Ln-1 → Ln

Sắp xếp lại danh sách có dạng sau:

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

Bạn không được sửa đổi các giá trị trong các nút của danh sách. Chỉ có các nút mới có thể được thay đổi.

Danh sách liên kết được thể hiện dưới dạng danh sách Python. Triển khai hàm reorderList(head: list) -> list trả về danh sách được sắp xếp lại.

Ràng buộc
  • The number of nodes in the list is in the range [1, 50000]
  • 1 <= Node.val <= 1000

Ví dụ

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?
Hãy cân nhắc việc sử dụng các cấu trúc dữ liệu dành riêng cho Danh sách Liên kết như tập hợp hoặc đống.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

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

Mở trong Trình chỉnh sửa
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

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.