做网站正规公司,亳州做商标网站的公司,网站维护页面 下载,entware wordpress前言 题目#xff1a; 707. 设计链表 文档#xff1a; 代码随想录——设计链表 编程语言#xff1a; C 解题状态#xff1a; 代码功底不够#xff0c;只能写个大概 思路
主要考察对链表结构的熟悉程度#xff0c;对链表的增删改查#xff0c;比较考验代码功底以及对链表…前言 题目 707. 设计链表 文档 代码随想录——设计链表 编程语言 C 解题状态 代码功底不够只能写个大概 思路
主要考察对链表结构的熟悉程度对链表的增删改查比较考验代码功底以及对链表的掌握。本题中的一些边界条件也要注意。
代码
class MyLinkedList {
public:struct ListNode {int val;ListNode* next;ListNode(int x) : val(x), next(nullptr) {}};MyLinkedList() {_dummyHead new ListNode(0);_size 0;}int get(int index) {if (index (_size - 1) || index 0) {return -1;}ListNode* cur _dummyHead - next;while (index--) {cur cur - next;}return cur - val;}void addAtHead(int val) {ListNode* newNode new ListNode(val);newNode - next _dummyHead - next;_dummyHead - next newNode;_size;}void addAtTail(int val) {ListNode* newNode new ListNode(val);ListNode* cur _dummyHead;while (cur - next ! nullptr) {cur cur - next;}cur - next newNode;_size;}void addAtIndex(int index, int val) {if (index _size) {return;}ListNode* newNode new ListNode(val);ListNode* cur _dummyHead;while (index--) {cur cur - next;}newNode - next cur - next;cur - next newNode;_size;}void deleteAtIndex(int index) {if (index _size || index 0) {return;}ListNode* cur _dummyHead;while (index--) {cur cur - next;}ListNode* tmp cur - next;cur - next cur - next - next;delete tmp;_size--;}void printLinkedList() {ListNode* cur _dummyHead;while (cur - next ! nullptr) {cout cur - next - val ;cur cur - next;}cout endl;}private:int _size;ListNode* _dummyHead;
};