算法题
class Solution {
public:
ListNode* removeElements(ListNode* head, int val)
{
ListNode* dummmyhead=new ListNode(0);
dummmyhead->next=head;
ListNode* cur=dummmyhead;
while(cur->next!=NULL)
{
ListNode* temp=cur->next;
if(temp->val==val)
{
cur->next=temp->next;
delete temp;
}
else
{
cur=cur->next;
}
}
head=dummmyhead->next;
delete dummmyhead;
return head;
}
};
class MyLinkedList {
public:
struct linknode
{
int val;
linknode* next;
linknode(int val):val(val), next(nullptr){}
};
MyLinkedList() {
dummyhead=new linknode(0);
size=0;
}
int get(int index)
{
if(index+1>size||index<0)
{
return -1;
}
linknode* head=dummyhead->next;
while(index--)
{
head=head->next;
}
return head->val;
}
void addAtHead(int val)
{
linknode* temp=new linknode(val);
linknode* cur=dummyhead->next;
dummyhead->next=temp;
temp->next=cur;
size++;
}
void addAtTail(int val)
{
linknode* head=dummyhead;
linknode* temp=new linknode(val);
while(head->next!=NULL)
{
head=head->next;
}
head->next=temp;
size++;
}
void addAtIndex(int index, int val)
{
if(index>size)
{
return;
}
if(index<=0)
{
index=0;
}
linknode* temp=new linknode(val);
linknode* cur=dummyhead;
while(index--)
{
cur=cur->next;
}
linknode* www=cur->next;
cur->next=temp;
temp->next=www;
size++;
}
void deleteAtIndex(int index)
{
if(index+1<=size&&index>=0)
{
linknode* temp=dummyhead;
while(index--)
{
temp=temp->next;
}
linknode* www=temp->next;
temp->next=www->next;
delete www;
size--;
}
}
private:
int size;
linknode* dummyhead;
};
除此之外,本周还完成了3道pandas相关的题目。