一:题目
 
二:上码
class MyLinkedList {
public:
struct LinkedNode {
int val;
LinkedNode* next;
LinkedNode(int val):val(val), next(nullptr){}
};
MyLinkedList() {
node = new LinkedNode(0);
_size = 0;
}
int get(int index) {
if(index > _size - 1 || index < 0){
return -1;
}
LinkedNode *temp = node->next;
while(index--){
temp = temp->next;
}
return temp->val;
}
void addAtHead(int val) {
LinkedNode*newNode = new LinkedNode(val);
newNode->next = node->next;
node->next = newNode;
_size++;
}
void addAtTail(int val) {
LinkedNode *newNode = new LinkedNode(val);
LinkedNode* temp = node;
while(temp->next != NULL){
temp = temp->next;
}
temp->next = newNode;
_size++;
}
void addAtIndex(int index, int val) {
if(index > _size){
return;
}
LinkedNode* newNode = new LinkedNode(val);
LinkedNode* temp = node;
while(index--){
temp = temp->next;
}
newNode->next = temp->next;
temp->next = newNode;
_size++;
}
void deleteAtIndex(int index) {
if(index < 0 || index > _size-1)
return ;
LinkedNode* temp = node;
while(index--){
temp = temp->next;
}
LinkedNode *cmp = temp->next;
temp->next = temp->next->next;
delete cmp;
_size--;
}
private:
int _size;
LinkedNode * node;
};
 渣渣杰又水了一道 ,这个是关于链表的增删查,得理解每个函数中的边界条件 其次多敲两遍 会熟练一些 晚安 陌生的你 最近开始睡前听播客了 感觉有一个人 一直在我耳边叨叨 排解孤独 还有助入睡 我在知乎上看一篇文章的时候 那篇文章 提到了 张爱玲的《倾城之恋》最近就靠他入睡了 晚安晚安 陌生人!!!
|