Thiết kế giải pháp leetcode danh sách liên kết C++
Một nút trong danh sách liên kết đơn phải có hai thuộc tính. Nếu muốn sử dụng danh sách liên kết kép thì cần thêm 1 thuộc tính Triển khai lớp MyLinkedList của chúng tôi
ví dụ 1 Input Hạn chế
Suy nghĩ của tôiCá nhân tôi thích những nhiệm vụ như thế này. Nó có thể được giải quyết bằng một số cách khác nhau mà nếu chúng tôi mô tả chúng, bạn sẽ cảm thấy nhàm chán và mệt mỏi khi đọc từng ấy thông tin. Nhiệm vụ này có thể giúp bạn xây dựng hoặc cải thiện kỹ năng chia nhiệm vụ thành các phần nhỏ hơn. Một lần nữa, đó là kỹ năng cực kỳ quan trọng nếu bạn muốn trở thành một kỹ sư phần mềm giỏi. Nếu bạn đã có kinh nghiệm về thuật toán và cấu trúc dữ liệu, bạn có thể làm một số thứ như thế này Giải pháp đơn giản nhất cho nhiệm vụHoàn toàn ổn khi giải quyết vấn đề theo cách này nhưng nó chỉ hoạt động khi bạn đã biết cách LinkedList hoạt động và bạn có thể triển khai nó từ đầu. Trong khi cách tiếp cận trên có thể giúp bạn tiết kiệm thời gian. Tôi khuyên bạn nên tìm hiểu sâu hơn và triển khai phiên bản LinkedList của riêng mình. Tôi khá chắc rằng nhiều bạn biết nó hoạt động như thế nào nhưng khi tôi yêu cầu bạn thực hiện thì một số bạn có thể gặp khó khăn Tôi nghĩ rằng sau khi bạn đọc hoặc học một cái gì đó, bạn nên thực hiện những gì bạn vừa học. Nó sẽ giúp bạn hiểu cấu trúc dữ liệu này hoạt động như thế nào và nó có thể được sử dụng ở đâu. Kiến thức bạn có sẽ được ghi nhớ tốt hơn lý luậnNhư tôi đã nói, nhiệm vụ này là một ví dụ hoàn hảo về việc chúng ta có thể chia một nhiệm vụ lớn thành những nhiệm vụ nhỏ hơn. Vì vậy, hãy cố gắng hiểu làm thế nào để làm điều đó Có vẻ như chúng ta cần triển khai ít nhất 5 phương pháp khác nhau. Đó là một điểm khởi đầu tuyệt vời. Trong khi có bức tranh toàn cảnh hơn trong đầu, chúng ta có thể tập trung vào bài toán con cụ thể mà mọi phương pháp đều phải giải quyết. Hãy giải quyết từng vấn đề nhỏ hơn Theo phương thức mô tả, Ví dụ. chúng tôi có danh sách 1 -> 2 -> 3 -> 4 ->5 1 có chỉ số 0, 2 có chỉ số 1, v.v. Nếu chúng tôi đưa ra chỉ số 3, chúng tôi phải trả lại 4 val 0Phương pháp tiếp theo trong danh sách của chúng tôi là Chúng tôi cũng có một kích thước thay đổi ở đây để lưu trữ số lượng phần tử trong danh sách của chúng tôi val 3Phương pháp tiếp theo là val 5Trạng thái ban đầu của MyLinkedListChúng tôi đã tạo một Liên kết mới với giá trị 7Trạng thái của MyLinkedList sau khi chúng tôi cập nhật tất cả các liên kếtPhương thức tiếp theo là Mục tiêu của chúng tôi là lặp lại chỉ mục đích và chèn giá trị vào chỉ mục đó. Hãy chèn giá trị 5 vào chỉ mục 1 Chúng tôi đã tạo một Liên kết mới với giá trị 5Trạng thái của MyLinkedList sau khi chúng tôi cập nhật tất cả các liên kếtPhương pháp cuối cùng của chúng tôi để thực hiện là |